Clouds appear white because the light coming from the sun has to pass through the water droplets and ice crystals or we can say that the seven colors of visible spectrum (red, orange, yellow, green, blue, indigo, violet) which when combines forms white light and this process of combining is done by water droplets or ice crystals present in the clouds. On the whole we can say that light is reflected in many ways which combines to give white color. Mainly clouds at a high altitude appear white and at that height water vapors are frozen and changed in ice crystals.
Many times cloud also appears dark in color it is mainly because of its altitude and reflection of sunlight. Storms clouds are thickest clouds. So when sunlight falls on them from above they soak the light altogether and very negligible light reaches to our eyes which give dark color to the clouds when we look at them from bottom but if we observe the same clouds from above they will be pure white.
Grey clouds are caused because of the shadow of higher clouds on the lower clouds or the clouds are sometimes so dense that they cast their own shadow on the base which gives them grey color. Dark clouds not always cause rain. More the droplets formed in the clouds more is the light absorbed in it. During sunset clouds are orange or red because blue color of sunlight is scattered and light has to pass through thick layer of atmosphere and dust particles when sun is lowered in the west. Sometimes a cloud appears blue due to the scattered blue light which makes the sky look blue.
The most unusual color is green. When reddish light falls on the cloud having large amount of water droplets make them look green.