I tried T-Mobile. The reception was so bad that I returned the phone and canceled the contract during the 14 day return period. I understand that this is not the case everywhere. However, you have to be sure that T-Mobile actually has decent service in your area.
I went with the iPhone. No regrets. It's the best phone I've ever had. However, AT&T has a 30 day return period. Why not try it for a few weeks? You can always return it and get the Xenon if it's not what you want.