It depends how deep the scratches are. They can get to a depth where they can't be polished out, and some dig into the wood, so the guitar would have to be refinished.
If the scratches or swirls aren't too deep, I've had excellent luck with the Virtuoso polishes. They come in two grits: one is very fine for the light swirls and light scratches. The other is a little less fine for deeper scratches, and after using it, you follow up with the fine polish. Chances are you'll need both.
Some of the Meguiar's polishes that are used on show car lacquer are very effective, though most formulated for deep scratches are formulated for a machine polisher. They make a wide array of grits and formulas. Again, you want to start out with the lightest grit that will do the job, and follow up with the finest grit.
Griot's Garage also has some very good polishes in various grits.
Remember that polishes work by removing finish. You only want to go so deep so the finish isn't destroyed. If you're polishing by hand, light, fast strokes work better than hard rubbing. You want the particles in the polish to break down and do the work.
I use a soft microfiber cloth for hand polishing, since it doesn't add swirl marks of its own. Cotton will add its own swirl marks.
I haven't tried the new PRS polish that's nitro-safe. Perhaps others can chime in.