Sonar expose all parameters as 0. to 1., throw the whole set (0.2, 0.445, 0.734 as an example). They have foreseen "native" resolution hint (I mean it should return that the "resolution" is 1. for on/off parameters), unfortunately the have forgotten to implement it properly for all cases. That means that plug-in can not ask Sonar either the parameter is On/Off or support 1024 or more different "positions".
For most fixed parameters (band on/off, EQ type, etc) I have "hardcoded" the knowledge into the preset, so only one tick is required to switch (point me in case I forgot some). But for VSTs generic procedure is used. Sonar/VSTs process <0.5 as 0 and >0.5 as 1. I send whatever I think is the current value + encoder resolution increment (0.1 -> still 0, 0.2 -> still 0.... up to 0.5 -> 1).
CakeWalk is well aware about that inconvenience. For MCU they use separate (from Sonar/ACT) configuration files per VST, which list all parameters with range and resolution, also mentioning some of them are binary. I do not have such configuration yet, but it slowly "rise" in priority. In fact it is possible to scan for such information, so no user intervention will be required. That is relatively complicated to implement, please do not expect in the near future.