As I travel quite often to the USA, I've always looked for an solution how to avoid the high roaming charges of T-Mobile Germany for being online abroad. I use the T-Mobile Prepaid Plan "Pay As You Go" on a Nokia E61 for years now in the US, but I've never got Internet running with that plan. Ok, I guess it was easier then expected.
You need an iPhone that is simlock free or one that has been modified to be simlock free (there seems to be some solutions out there ;-)
All you need is a T-Mobile "Pay As You Go" Card.
You can grab one of these sim cards at an any T-Mobile Retail shop. There are many in the US:
Simply buy a "Pay As You Go" Card for $10:
This sim card can be easily refilled with Refill card that you can get at retailers like Walgreens, 7 Eleven, Target.
As soon as you have the sim card and your phone number, insert into your iPhone and register yourself online at http://my.t-mobile.com. Here you will need to change your Plan. Go to "My Account > Change Plan". Choose the "Sidekick" Plan
Now on your iPhone: Go to "General > Network > Cellular Data Network"
Leave user and password blank
You are done!
The connection speed is EDGE most of the time and quite good.
The daily rate for this unlimited data plan in the USA is $1. That means: $1 will be charged from your account every day, independently if you use it or not.
When leaving the US, you would prefer to set your plan back to "Pay As You Go". This plan does not have a daily fee. It could be also good to grab some of the refill cards and extend the account remotely before it expires. Then you can use the same card when returning.