Check your local yellow pages. I live in a small town and there are 3 local places that will do it.
Assuming you already have a logo, I would expect it to cost about $50 to set up the embroidery file. We pay about $5.00 per shirt to have them embroidered when we do at least 25 at a time.
Since I also own a clothing store, I look for closeout deals on polo shirts or T’s and provide them to the embroiderer rather than buying them from them. I end up with a lot nicer shirts for about the same money. I use different colors that all look good. Same model, same embroidery, different colors. Looks good.