i started off with the simple gutter mount this works in principle but it is utter crap, you can receive but the transmitting signal is crap. dont even think about buying one even for cheapness.
i did think on the mag-mount which are good but i didn't know what to do with the cable, i just wanted to fit the aerial and go, the mag mount left a cable hanging "so to speak" in the back of the jeep.
I went for a wing mount which involved two holes to be drilled and job done. I made my own cable to go from the mount to the CB and hid it in the plastic trim of the roof lining.
when fitted this gave good signal strength on transmitting where i used to have next to nothing. plus all i do is unscrew the aerial when it's not needed
drilling the roof wasn't an option as the can be a nightmare to get a permenant seal