Guys you can't just buy scratch x or scratch remover and throw it on with a towel and hand buff it off! You need a porter cable or other orbital polisher and you basically treat the clear coat of the roof just like your paint.
You need some decent polish. Poorbrothers SSW 2.5(superswirl remover). Followed by SSW1 to finish it back to perfect. All of this with an orange pad for ss2.5 and a white pad with ssr1. If that does not do it than you step up to SSR 3 with an orange pad. If still does not do it SSR 3 plus a yellow pad which is the harshest foam. Detailedimage.com has great tutorials.
I bought one a couple years ago with NO experience detailing and its become one of my favorite things to do for my car. Orbital buffers are not like rotary buffers used in some detail shops which are easy to "burn" paint. As long as you are not a total idiot, an orbital is really simple to use and almost impossible to damage paint if you use the right products.
Poorbrothers is just one brand but its solid. There are many others but unless you are really super picky, all of them pretty much give a great polish and finish.
Then when you have this you can actually polish your entire car once a year or so with a two step job as i mentioned above. First a bit harsher to remove swirls and scratches with Ssr 2.5 and then to finish using ssr 1 (or any other products you choose).
Really makes the paint beautiful, especially if you have any swirl marks. It takes a good 5 or 6 hours to do the whole car well but worth it.
Anyway check out that website for all you need to know. Do NOT just take swirl remover and a rag to your paint!!