Keeping 3G on all the time can destroy your battery, (even more so if you are in a weak 3G area, since the phone is constantly looking for a better signal) and toggling it manually can be time consuming and annoying. Luckily, the process can be automated with Auto3G. The app, which is available on jailbroken phones through Cydia, automatically toggles 3G off when the phone is locked, and turns it back on when the phone is unlocked.
Requires iPhone with 3G
Auto3G extends your battery life by automatically turning off the 3G radio (leaving on the 2G radio) when you lock your iPhone and automatically turning on the 3G radio when you unlock your iPhone. This way you always have the speed of 3G when you need it without the battery loss.
As explained by Apple, this results in up to 100% greater battery life: “7 hours of talk time on 3G, 14 hours of talk time on 2G.” (apple.com/batteries/iphone.html)
Use the Auto3G icon to change settings
This tweak isn’t perfect, so you may run into some issues while trying it out. If you want to take a leap of faith, it is available from Cydia for $5.99.