I made a GeometryUtils method for getting random points on a mesh, you could just use this:
https://github.com/mrdoob/three.js/blob/master/src/extras/GeometryUtils.js#L304
var points = THREE.GeometryUtils.randomPointsInGeometry( geometry, nPoints );
It's more complicated than sphere-specific solution but it will give you points that are always on the real mesh (as opposed to points being on perfect geometrical sphere, which for example if you deal with planetary sized mesh, may be off).
Another option for getting more precise points directly on the mesh would be to generate random points on a larger sphere and then raycast them toward sphere center.
Though if you don't care too much about precision, simple geometry methods should be enough.
BTW mrdoob's method is good but it should have an extra step of rejecting vectors with length > 1 (see hypercube rejection method).
http://local.wasp.uwa.edu.au/~pbourke/geometry/spherepoints/
Random Point on a given Sphere
See also here for some other methods how to generate random points on a sphere:
http://www.math.niu.edu/~rusin/known-math/96/sph.rand