I had the same issue after buying an 05 Tropical that had been sitting. The gelcoat roof oxidized badly and rain or washing would cause severe streaking down the sides.
I started by doing a good scrub with a long hadles brush and power washer. This was helpful but did not stop the streaking. The next step was do use a fiberglass oxidation polish, which is is easier to apply with an dual action orbital power polisher. After applying the polish and letiing it dry, I wiped it with microfiber cloth and then buffed it with the polisher. I was able to get a low gloss on the roof this way which effectively stopped the streaking. You can see the water beading up now on the roof.
I plan on continuing to keep the roof polished using Meguiar's polish and wax. Meguiar's makes an excellent oxcide remover and final polish/wax.
Their website for RV/Boat products is:
Car Care Products: Car Waxes to Leather Cleaners, Meguiar's the Leader in Car and Surface Care since 1901 Care>Boat/RV Waxes>Liquid Waxes§ionID=55101
You can get a cheapo dual action polisher at Harbor Freight for around $40-$50 dollars. In my case, I realized that the care and feeding of the gelcoat fiberglass roof will avoid tens of thousands of dollars if it deterioates too far so I invested in a long term Porter Cable unit with custom pads. The link is below:
The Porter Cable 7424, porter cable kits, porter cable 7424 and ccs lake country pads, porter cable polishing kit, porter cable detailing kits
The answer is really good polish products and a lot of elbow grease. I spent about 4-5 hours on my roof using the oxide remover / combination wax. It was pretty easy to get a gloss back using the right polish and tools to apply.
Hope this helps,
Duane