There is a Widget for this but it really just Opens the Settings for Data for you and you still have to Check it Off and On. I don't think there is a App that does this if I am wrong I too would like to hear about it. That being said I think "Tasker" will let you create your Own Profile to Control Data Use.
There's a widget in the market called GT-Widget Data that will connect and disconnect 3G. Only problem is the widget tends to disappear when switching from portrait to landscape and when you add the widget back, the original magically reappears. It's the only widget I've found that does this with one tap but sadly it has that one issue.