A couple of points:
1. Theoretically, TheWonderer is correct that you should not have to take USMLE III for an H Visa. The rule with an H is that, if a license is required to do the job you are applying for, that you are qualified to get that license. Since all residents start on some sort of training license (or, some states actually have no license at all), and Step 3 is not required to start internship, theoretically no one (US grad or not) should need Step 3.
However, it's up to the USCIS to decide whether you've met the legal requirements, and it appears that they do not differentiate between a resident physician and a physician in general. Since USCIS usually requires Step 3, all non-US citizens applying for an H, regardless of the location of their medical school, should plan on taking Step 3.
Sorry, I don't mean to offend you. But there is no such thing as theoretically right or wrong on this subject. If you have an American M.D., you are eligible to apply and receive your H1B the day you get your diploma.
I cannot overemphasize this because timing is so important. Use OPT in your intern year. But by beginning of Dec, start getting your program to fill out H1B paperwork and hire a lawyer so everything is ready to be mailed to US Immigration by some time in Jan; the reason is that the earliest date you can apply for H1B is exactly 6 months before your starting date.
Don't wait. Some states, correct me if I am wrong, won't let you take step III until end of internship year. Some people might wait until Step III scores to come back. Don't wait for any of these if you have an American M.D. degree. You want to save yourself grief and have to scramble and pay $1000 down the road near June for premier processing.
You already paid enough tuition. Save yourself $1000.