You can buy a special Canopy Cleaner from most decent marine retailers though mould can be a problem.
I wopuld steer clear of the really savage stuff from the supermarkets as they contain lots of bleach and stuff that can do damage to the canvas.
The weakness is not so much the pretty tough canvas but the stitching used in the trim and edgework, it will rot out very smartly if you use these products.
I use a product from Selleys in a blue bottle called Mould Remover that does a good job but I hose and soak the entire canopy for a long time to make sure I get it all out!
Probably better to have a few goes at it rather than try to get it all out in one hit!!
My missus tells me that straight vinegar is also worth a try (just add prawns)