You could use instanced particles and goals with a custom attribute expression to control the offest of the objects using the surface normal.
That should do the job, as you can get them to randomly move over the surface using rand on the goal U and V's.
"No pressure, no diamonds" Thomas Carlyle