I think one problem is that it varies dramatically by geographical area and so it's impossible to say which is best without considering where you live.
I'm in the Pittsburgh area, and my estimate is the AT&T and Verizon are about the same. Verizon might be a little bit better, but the iPhone is (in my experience) a much nicer device than the Droid. I love my iPhone more than I dislike AT&T, especially since many Verizon policies (early disconnect fees, for example) are just plain horrible.
I wanted to try app development for the Palm Pre, so I got a Pre and a Sprint phone. Sprint has almost non-existant data service, at least in the parts of Pittsburgh I visited. On the particularly memorable evening I got my Pre, I was being driven home on Route 51, the main drag sort of equivalent to Pacific Coast Highway in Malibu, and I got no data service at all. Let's just say things did not improve from there, and if the phone wasn't used for development, I would have returned it immediately. If you do have good Sprint service in your area, though, I noticed that the plans are significantly cheaper than rivals.
I used T-Mobile many years ago with the Sidekick. It has the advantage of being GSM, so you can use an AT&T phone with it, or use it with an AT&T phone. Verizon and Sprint use a different technology that I don't think allows you to exchange phones between carriers at all. Once you have a Sprint or Verizon phone, that's all it is. Overall, I don't think T-Mobile service is as good as AT&T or Verizon. However, since I haven't had a T-Mobile account in years, I can't really comment.
I know some Cricket users and everyone says that while it is certainly cheap, service is so awful as to be nearly useless.
Hope that helps. Maybe we should all do this for our individual city and then this could be a searchable index. But of course things are changing all the time ...
D