We always used two different ones when I was an undergrad. The first was Graphic Cow (
www.grafcow.com). They always did great work, and had a first-rate artistry team for pretty much everything we needed. Prices are definitely reasonable. The other one, which we only used twice, but was probably the most successful shirt we ever did was Design-a-shirt (
www.designashirt.com). The difference with this one is that you've got a ton more input into the design process. This can be good if you're somewhat graphically oriented. However, if you're looking for a really sharp, high-end design for the shirt, it's probably not the best website.