Is mounting an outdoor antenna on my roof any better than putting it in the attic? The attic is almost as high off the ground as where the roof mount I have.
All building materials have some amount of RF attenuation.
If your roof has any metallic material, that's going to be a big issue. That might be foil backed insulation, metal roofing, etc. Also, getting your antenna away from RF noise sources in the house is a good thing.
Also, roofing material doesn't magically block lightning, so proper grounding/suppression is still required.
If you are going to go through all that, put the antenna outside. The higher up it is, the farther off your "radio horizon" will be. That means you'll hear more stuff. Use the best coaxial cable you can afford. Exact type will depend on the length of the run and the frequencies you are interested in.
And do not forget proper grounding and lightning suppression.