I am a T-Mobile customer and I see no compelling reason to switch. AT&T has matched T-Mobile by eliminating the contract, and allowing upgrades every year, and even the $45 unlimited plan, but T-Mobile still has better customer service, and free international roaming.
I don't remember the details, but I don't think they've "matched" T-mobile. Last I checked, T-mobile's plan allowed 2 upgrades per year, and I think the price was less than what AT&T is charging, too.