I use a telescopic ladder to reach the roof with a telescopic brush to reach from the outside to the middle. I then apply a diluted solution of Fenwick's caravan cleaner and you may need this if you are parked under a tree as it will shift bird lime and algea.
when we bought ours it had spent two years under a tree collecting moss and algae and was in a very sorry state indeed .we bought a bottle of MUC-OFF from amazon ,(cheapest place) and all you need to do is pre-wet the roof with a hose pipe then spray/spread muc-off over surface ,leave for 5 -10 minutes then use long handled brush and hose pipe to wipe of the moss etc.
never be talked into using a jet wash on a caravan it will damage the seals and seek out any weak spots ,i,m speaking from experience on this one they are lethal to caravans
some good advice,but I had a simular problem,and overcome it after some elbow grease I puchased a cheep tarpauling and covered the roof completely,no more dirty roof.