Actually, water is not the issue; it's the contaminants in the water coupled with long drying times in enclosed spaces with narrow gaps that does the most damage due to corrosion.
To be completely successful against corrosion, you need to CLEAN or flush the contaminants out. Working against this is the competing problem of water damaging some of the elements like the battery or causing an electrical short.
Remove the screen and LCD off your 3GS, and place the rest of the phone (without screen) in 99% isopropyl alcohol. Alcohol will damage the LCD, so that's why the removal is necessary.
Alcohol is NOT conductive (neither is pure water), it will chase the water & debris out (ever had swimmers ear?) and evaporate much faster.
Works every time, as long as you didn't plug in or keep turning in the phone prior.