How to get a proper elastic collision in a rigid body simulation
The values of my example still need to be fine-tuned.





General Rigid Body Tips


Use the simplified rigid body shapes (where possible) and to stabilize the simulation, amplify the scene's scale. (Don't use objects smaller than 1 Blender Unit.)
Adjust the solver iterations. Too few iterations will result imperfect motions, to many will destabilize the simulation because floating point imprecisions will add up. (See this last paragraph.)


For Newton's Cradle


For the spheres you have correctly set the shape to Sphere. Increase the Bounciness to a high value ~ 1 and decrease the Friction to a low value ~0.
Add a small gap between the spheres!
To reduce extra velocity, enable Split Impulse in the Rigid Body World settings and use a Translation Damping value > 0 in the Rigid Bodies' Dynamics Settings.




The stability of the simulation seems to be a delicate interaction of Rigid Body World Iterations and Samples and the gap between the spheres.