I just switched from Sprint to T-Mobile so I thought I'd share my experience.
First a little background - I've had Nextel (horrible), switched to Cingular/AT&T, then to Sprint, and then just a week and a half ago T-Mobile. I've lived with people with Verizon, but could never justify the extra price (and they seemed to drop more calls).
T-Mobile's "4G" (not the LTE) is crazy fast compared to Sprint (obviously). I have had NO coverage problems in the city. My lumia 810 is faster than any phone I've come across so far (not saying a lot, but iPhone 4 on Sprint & Verizon were included). I have full signal even in the locker room where I couldn't access internet most of the time with my Sprint Arrive.
I did just take a trip and I had "4G" for about 1/3 of the way, then 2G, and lost service in the hills for a little while (not too long, it was in and out). However, Sprint & Verizon had minimal service as well (they claimed lost service entirely at least once, but I'm not sure).
The bottom line is that what everyone else on this thread has said is true. Check the coverage map. They are great where there's coverage, and the map has been accurate for me so far. The rep that sold me the phone seemed very knowledgable, but who knows. He said he was chosen as a Beta tester and that the next update would bring WiFi calling, and also that he expects LTE to start rolling out here within the next 3 months. He was using a Lumia 810 as well and said he was biased towards Android while Windows Phone 7 was out, but is considering staying with Windows Phone 8.
Hope this helps!