Are you sure it is metal? I'm pretty sure you have a fiberglass roof.
Any decent general exterior detergent will do the job. Add some bleach if there is any mold in the crevices. Use a soft or medium stiffness bristle brush. I use Simple Green on mine and a long handled RV wash brush. Wash the sides when you finish the roof - the dirty water runoff will leave the sides a mess if you don't.
Former owner of 2004 American Tradition and several other RVs
Home is in the Ocala Nat'l Forest near Ocala, FL
Summers in Black Mountain, NC