A dull, oxidized finish is a different problem than black streaks, so lets not mix the answers together.
Oxidation of the surface (fiberglass or painted) has to be removed. 50 coats of wax won't help unless and until you remove the layer of dull glaze. If you look at the procedure that involves Zep floor wax (a high gloss synthetic), you will see that it starts with a lot of elbow grease and an abrasive cleaner like Barkeeper's Friend to remove the oxidation. Commercial oxidation removers such as the 3M and Starbrite products are an alternative to a cleanser.
Black streaks are just a nasty dirt that has run-off the roof and is usually associated with the chalky run-off from EPDM rubber roofs. However, any type of roof can have a dirty run-off from the crud that sometimes accumulates up there. Industrial "smokestack" wastes in the air is one common background cause, but tree bark is another. Basically it has to be scrubbed or polished off but the best choice of product varies with the type of compound that forms the streak. Sometimes the "black streak removers" sold (at high prices) in RV stores work fine, and on others they may not work at all. Automotive and marine polishes may work, as may silver polish or rubbing compound. It generally take something with some grit (a polish) rather than just detergent and water, but sometimes a chemical product like CLR will cut through it. Experiment to see what type of polish works best on your particular streaks.
Black streaks can be minimized by keeping your roof cleaner, especially EPDM roofs. The chalky residue that forms on EPDM seems to be an ideal carrier/paste for dirt. Even just rinsing it regularly helps flush away the residue rather than letting it trickle down the sides with the morning dew and then dry there (leaving the dirt behind).