Another option for smaller runs is embroidery. We did that recently for the shirts for Jeff and Skyler at Gay Phoenix Forum, and it was about the same cost, but looked a lot snazzier.

We had the graphics digitized for sewing from some online place in Pakistan. 24 hour service at about 1/5 the cost of US digitizers. Then we had a nice local lady with an embroidery machine in her garage do the embroidery on the shirts (which we supplied). It was about $15 for a gigantic design on the back and $5 for a small design on the left chest. But... no setup or screen charges, so it ended up being less than getting a dozen shirts screen printed.

For larger volume screen printing, there are several printers we use, typically we pay about $1.50 for a 3 or 4 color design, maybe a buck more for 6 or 8 color. That's with minimum of maybe 36 shirts and me supplying the shirt. There's also a setup (screen) charge of usually between $10 and $25 per color.

I like to buy the shirts and supply them to the printer to save the printer's markup, but sometimes it's just a hassle to do that, so if you work with the printer, particularly if you keep bringing in jobs, usually they'll cut you a break.