It's not the pedal.
I'll use my Kurz as an example. Programs are controlled by a control setup. This setup has general entry/exit volume levels. If I were to set the entry level to 127 then when I switch from one program to another program the level jumps to 127 ( max) regardless of where the pedal is set. Once the pedal is touched then the volume gets adjusted to the level of the pedal. On Kurz's, presets follow the entry values programmed into a particular preset. So what I'd did was determine what level I typically have the pedal set to, then determined the volume level of that particular setting through some Kurz delivered Midi tools included in the keyboard. The volume on the pedal is normally around 100 so I set the control setup which controls the entry values to 100. I then set each preset's value to 100. When I switch from program to program or setup the entry loudness is about where my pedal is set. I'm not sure if the CP4 has this functionality but that is my workaround. The other thing you could try is immediately/ simultaneously switching programs touch the pedal slightly to reset the volume before resuming playing. In case you were wondering I use an FC7.