Yes, it's a feature not a bug of the linear slider style to pick up the value when you click on it. If that is not active and you have some kind of mixer UI, then it feels like a plugin from 1996 if you need to drag it to set it to the current position.
The proposed solution is correct: use a knob and then the drawRotaryKnob() function - even if your modwheel looks like a slider you want it to behave like a knob, so knob it is.