I recently installed iOS4 on my iPhone 3G which is on the Three network. After installing my battery life was reduced from 50 hours to around 20 hours.
As I live out in the sticks with no 3G coverage, I usually disable 3G which improves battery life. Mostly due to the iPhone not continually trying to get a 3G signal. I know disabling 3G violates Three's T&Cs.
Since upgrading to iOS4, the "Enable 3G" option is no longer available in network settings. When I installed iOS4, I opted to upgrade Three's carrier settings which contained the rule to hide "Enable 3G".
Reinstalling iOS4 and not upgrading the carrier settings allows me to see the "Enable 3G" setting.
I expect the carrier profile (Hutchison_uk.ipcc) for Three can easily be edited using Apple's Configuration Utility.