I have repainted almost every single bike I have owned and have found the absolute best way to be sure you are satisfied with the finished product is to strip the frame COMPLETELY! Pop out all the bearing cups, remove the wheels, cranks, chain, everything that is not welded on. Automotive shops can do it, and might be the best but might not be the cheapest, and even if you mask it, bikes are easier to spot minor mistakes on. Don't forget about places that powder paint farming fences or folding chairs.
I have always preferred to do it myself. I was trained to paint cars, but it really isn't hard, just remember to start the motion before pressing the trigger and release it while still in the stroke. Stay about 8-12 inches from the bike. (and be careful when touching up around the string)
I would suggest going to a paint shop that sells touch-up paint for cars and have them sell you 2 or 3 spray cans of the paint you want (you can customize to any color on the planet and include "pearl" for that cool shine). Most bikes can be done in 2, but get 3 just in case. string the bike up through the head tube to a tree or something and give it a nice thin bottom coat. Let it dry in the sun for a few hours. Give it a 2nd thin coat. Dry it over night. Then apply the 3rd coat and let it dry. As long as you have decent paint and don't over paint any of the layers, it should last for YEARS!