Vsync would only limit sub-60fps to exactly 30fps or another integer division of 60 if the graphics are only single or double buffered and the load to render and process is completely uniform.
Otherwise, say with triple buffering, pretty much any number of fps between 60 and 30 is possible with vsync enabled.
However, since the framerate isn't smooth/uniform, the jittery/laggy perception is heightened. Coupled with the fact that any form of buffering beyond double buffering is essentially rendering frames now, but displaying them 1 or more frames 'behind' what you would get with (optimally performing) single and double buffer rendering, makes this feel a little bit worse.
Also with vsync off you are seeing over 60 fps on a 60hz monitor, it's just that the frames overlap with eachother, thus tearing.
It would be quite possible to artificially do (say) 48 page flips a second on a 60hz monitor and get 48 fps with vsync enabled (even double buffered). You just need 12 of those page flips in each second to occur greater than 1/60th of a second but less than 2/60ths apart. And to the motion-sensitive survival-orientated creatures that we are, this would be surprisingly noticable as jittery/stuttering behaviour.