What kind of features do you need for website? Do you need an online designer, or just an order page for customers to upload their print ready artwork. (since you mentioned contract printer I'm assuming your clients just send you print ready files)
Magento probally has the most features available (unless you need an affordable online designer) but has a steep learning curve.
Opencart is easier but has less built in features, and can be combined with OpenTshirts – T-Shirt Design Website and Software
to add an online designer
Wordpress plus WooCommerce is another option, but I haven't had a chance to use it
The links in my signature I built using Magento.
Custom Tee Shirts
this one is based on opencart and opentshirt, that I have been experimenting with.