Yeah, it's work! I found i spent a couple days per year on our 40 footer, but it had a fiberglass roof and a high gloss paint job.
Once you get it clean, apply a coat of vehicle "wax" (modern ones actually have no little or wax, but the name remains), then wash occasionally to keep dirt from building up. A easy wipe-on product such as ProtectAll or Turtlewax Ice is as good as any other.
Black streaks are dirty water running off the roof, so washing the roof occasionally helps reduce those. Better to avoid than to scrub the stains after! Black streaks are mostly a rubber roof problem, where the roof membrane coloring agent chalks (oxidizes) and combines with dirt and then runs off in even a heavy dew. A coat of liquid floor wax on the rubber roof helps reduce the chalking and make future cleaning a but easier, but washing a few times per season is still needed. Something like Mop & Glow is adequate - the special "rubber roof treatment" products aren't notably better.