I''ve been washing my sails for a couple of years....can''t see that they have suffered from it and they look great.
I use woolite and 1 cup of bleach per gallon of water for general cleaning. Woolite is a gentle soap and the bleach will kill any mildew spores that may be on your sail.
For stubborn dirt I use a little spray and wash and a small brush to loosen the dirt before general washing with the woolite. But go easy on the spray and wash as it is apparently a strong detergent.
Spread the sail out on your drive way or other large hard surface and scrub the sail with a soft bristle brush. My sail is fairly large (Islander 36), so I do 1/2 at a time. Then turn it over end for end to do the other side.
The hard part about all this is finding a place to hang the sail to rinse it off and let it dry. I have access to an aircraft hanger, so it is easy to hang the sail from the rafters. If you use your driveway maybe you have a couple of handy trees? Hang the sail with lines tied to the luff i.e. head and tack.
VERY IMPORTANT! don''t scrub the sail directly on the concrete as it will abrade the sail cloth! I use a blue plastic tarp under my sail. It makes a good scrub surface between the sail and the concrete.
If you have rust spots mix 1 Tbsp of Oxalic Acid in 1 cup of HOT water. Apply solution and let it sit for about an hour. It may take a second application, but the stain will be gone or at least be much lighter.
All of the above assumes we are talking about Dacron sails. Havent had any experience with laminated sails, but imagine they require a different method of cleaning.