the best places I've found are in Watertown and in Natick. The place in Watertown is called David Leather Dyeing, 127 Mount Auburn St, Watertown, MA. Even though it says leather, they dye fabric shoes too. They have done a great job, and I think it costs about $20.
I've also used Shoes to Dye For in Natick (on Rte 9) and they charge about $15. Both are great! Hope that helps.