I painted my fiberglass roof with the Dicor Fiberglass Roof Coat product. Prep was a thorough wash with bleach & detergent, followed by a wipe-down with liquid sandpaper to remove surface oxidation and any remaining spots (tree sap or whatever). I then masked off the edges and brushed on two coats. I guess you could do more prep or choose a better paint (epoxy?), but I'm not convinced there is any extra value in that. Sometimes "good enough" is sufficient to the need.
Former owner of 2004 American Tradition and several other RVs
Home is West Palm Beach, FL