I've been selling on CafePress (who I recommend) and Printmojo (who I highly, highly recommend) for a few years now, and have only just started on Spreadshirt. I've also used Zazzle, but found their licensing provisions offensive so I can't recommend them.
Here's how I'd stack 'em up:
Printmojo:
If you _know_ your design's going to sell, and know which colors, sizes, and products to put it on, Printmojo's the best option. Your margins will be higher, and your product will be better quality than anybody else I've seen. And they have a free script for integrating your storefront into other sites which is surprisingly easy to use. (I'm kicking myself for only just starting to fiddle with it.) And you can create your own coupons whenever you want. Very nice.
That said, you have to print every product up front, which means paying for it yourself up front. It also means figuring out exactly how many items to print in each size and color, which can be daunting for rookies like me. That said, Printmojo has a great team that's happy to offer advice.
On the marketing side, I don't think Printmojo gets anywhere near the traffic CP or Zazzle do, which means a bit more effort if you want to sell all the stuff you've printed. And there's no affiliate program like CP or Zazzle have to encourage other people to sell your stuff for you.
Also, printmojo passes their actual shipping costs through to the customer instead of doing a flat fee or formula like Spreadshirt or CP, which isn't ideal.
CafePress:
CafePress has made a lot of improvements over the last year, and they're now probably the easiest storefront solution after Zazzle, with much more configurability than Zazzle. I can upload one design and put it on oodles of products pretty quickly -- and my design needn't be in vector format. CafePress also has a relatively new affiliate program that's pretty well done, and there are a couple third party scripts for integrating CP on your own external websites, which I'm beginning to play around with.
One really nice thing about CP is that they sell bumper stickers. So you can slap your design on a bumper sticker, lure in traffic with a $3 to $5 product, and then upsell with your shirts. Works with buttons and magnets, too, but I think the bumper sticker market is bigger.
Overall, quality's nowhere near Printmojo -- especially over time -- but it's generally decent except for their black shirts, which look terrible. I also got one cap sleeve tee that looked very iffy, and saw color variations on one design that I had printed on two different products.
CafePress seems to be constantly improving, so it's probably just a matter of 8-12 months before their dark shirts go from horrid beta to pretty goodness. For now, though, I can really only recommend them for light shirts, bumper stickers, and, oddly enough, teddy bears.
Spreadshirt:
I've recently had models ask to do shoots in my stuff, so I really wanted to get more dark shirts and underwear to broaden out the wardrobes. So I started using Spreadshirt.
So far, I've found that Spreadshirt is _great_ for printing text on dark shirts. The text feels raised, in contrast to the smooth feel of a Printmojo shirt, but otherwise it's pretty much perfect. They also have thongs in more colors than CP as well as shorties. The thong and shorties look so good (at least with my slogans on 'em

) that my first model said "I want to model them just so I can have them."
And the products are shipped USPS priority instead of UPS (yay!) in a really cool envelope. When the mailman delivers something from Spreadshirt, he's going to be jealous even though he won't know what you're getting.
But unlike CP and Printmojo, Spreadshirt doesn't really generate much of a _storefront_ for folks who are just starting out. And I also have to put my designs, product title, pricing and shipping on every single product manually, instead of just generating a whole "Design X" page at once. There are some folks who have made really professional sites using Spreadshirt, but it's going to take an awful lot of work to make a customer-friendly presence.
I'd be surprised if this doesn't change over the next year or two, though. Spreadshirt's products are very strong competitors to CP and Zazzle. It's just a matter of time before their user interface catches up.
So, overall, for first time sellers, I'd go with CafePress for now. For serious professionals, I'd go with Printmojo or Spreadshirt.