My iPhone, with 3G turned on and in use, will be dry in no more than about 3 hours.

This is on-par with other 3G phones.

Turn it off, and I have to charge it every other day (and that's with wifi turned on).

The heat generated by the 3G receiver in phones is indicative of the power being used.