At the moment, the selection sequence seems to draw a line under your cursor straight into the screen, and then select the nearest entity to that line first. This usually means that it selects an edge somewhere on the back of the model, rather than the surface directly under the cursor; and results in me screaming "No, stupid, the thing I'm pointing at!" at the screen. The surface I actually want is usually about the 17th thing on the list.
Surfaces are the most robust entities to reference, followed by edges, and vertices last; yet the current system seems to pick edges and vertices early, and surfaces at the bottom of the list.
Please can we have a selection sequence which reflects this, and which makes more sense with a shaded view (rather than wireframe, in which perhaps that edge at the back was the thing I was pointing at)? Perhaps it should first select surfaces which are directly under the cursor, starting with the nearest to the screen; then select all edges within the selection radius, again starting with the 'top', and only then vertices...
Alternatively, as suggested in the comments thread, perhaps a selection sequence working strictly on distance into the screen would be more intuitive to use. This would certainly put the surface directly under the cursor first, which is my usual complaint.