I'd suggest taking your time and doing a thorough job sanding off the existing finish, filling all dings, dents, etc.
Assuming your SG is a set-neck, tape off your fretboard and the edges of the neck where your binding and/or position markers are.
I use 3M FineLine tape for the edges of the neck ... it leaves nice crisp lines.
IMO, a good paintjob starts with good body prep ... so take your time and do a complete and thorough job.
If you can paint a car and have the proper facilities and experience with automotive paints and sprayguns, this is a big advantage.
I've been using automotive paint (2-part acrylic urethane) for several years and have had really good results.
Before spraying my first basecoat, I spray a 2-part epoxy primer/sealer made by Dupont.
This helps fill the grain and provides a primer for you basecoat.
Let it dry overnight and then go over it with 400 grit sandpaper.
This will knock off the "gloss" and provide a nice smooth primed surface for your basecoat.
At this point, I remove the tape on the edges of the neck, smooth out the edges of the primer/sealer, and then re-apply new tape.
This helps prevent the primer/sealer and paint from "caking" on the tape, which could potentially peel off the paint when removed.
Once you've re-applied your tape, go ahead and shoot your basecoat.
Once your basecoat is dry, remove the tape from the edges of the neck again and re-tape only the top surface of the fretboard.
This will help blend the binding and/or position markers when you apply your clearcoat.
For me, acrylic urethane (automotive paint) works best ...
It cures nice and hard which helps preserve your tone and resonance.
And it won't yellow or crack like nitro, or look "amaturish" and deteriorate like most rattlecan paintjobs.
Good luck!