Don't port, write portable using libraries that were made for that purpose.
In an ideal world, sure, but it doesn't usually work like that. Portable libraries, where they exist, don't always have all the function you need. They don't always expose everything in a completely platform neutral way e.g. because the hardware drivers underneath have subtle differences in the way they handle things. They sometimes have bugs themselves. etc. (I'll concede I haven't done this for games but I have written more mundane apps portably.)
Bottom line: you can't assume something will work unless you explicitly test it. Sure, testing one platform will catch common bugs but you still have to playtest the game thoroughly on all platforms after you've fixed the common bugs.
Some bugs are instantly visible (e.g. code won't even compile) on some platforms and cause only hidden damage on other platforms.
Now hang on a minute - that'd only be true if you're using different compilers on each platform and that isn't something you can take lightly. Even switching between different versions of the same compiler can be a significant porting effort - you can't just assume your code will compile and work on three separate compilers for free.