I've been with T-Mobile for five years. I've found their customer service far superior to AT&T's. (The original AT&T Wireless was all right for customer service, but Cingular were bastards when i was with them, and I was not happy when they bought AT&T Wireless and I was stuck with them again.)
I've never really noticed problems with reception in D.C. However, when I go to visit my mom in North Carolina, I have a hard time getting a signal and have to roam on another network. I get good reception in NYC, and somewhat iffy reception in my friend's apartment in L.A. Because it's a GSM phone, I've used my phone abroad -- not much in the UK, because I have a UK pay-as-you-go phone, but it came in handy when I was in Sweden and Denmark recently.
I am actually thinking about switching from T-Mobile to Cricket because I could get a better service package for about $5 less. I am a little leery of switching away from the Big Four, though (and of switching from a GSM phone to a CDMA one). Has anyone here used Cricket?