3D picking, or alternatives?

Consider a 3D space with a number of geometric objects. I want to allow selection of objects via a mouse click. How is it best to translate mouse clicks into selected objects?

The normal OpenGL feedback mode is pretty slow, isn’t it? What are my alternatives?

Convert the mouse click into a mathematical line through the eye and the screen, and calculate intersections against the objects?

I should mention that I want to be able to convert clicks to coordinates on a surface eventually - feedback mode can’t help there can it?

I’ve an example on my website for picking selection.