Not very effective, but useful if you go for postprocessing of existing Graphics primitives:
spheres = Sphere[#[[1 ;; 3]], #[[4]]/2] & /@ RandomReal[{-1, 1}, {10, 4}]; Graphics3D[spheres] 
Graphics3D[spheres] /. s_Sphere :> Sequence[RGBColor[RandomReal[{0, 1}, 3]], s] 
Repeated evalutation will yield individual coloring.