I've used a stiff brush and normal car wash soap. I've found that the crud on the roof won't come out of non-slip pattern of the fiberglass without brushing. Same with the stuff that accumulates on top of the dicor sealant, it doesn't like to come off unless brushed.
Interestingly the dicor stands up to this well. No marks are left after brushing. But then the brush is just stiff, not very stiff.