For a TPP/FPP character setups I fake responsiveness by having the character play a montage for the interaction. This generally covers network delays.
on input pressed → rpc server → play montage
Server: executes change, actor replicates
Typically states use Rep_Notify. e.g. Bool (on/off)
Optionally you could have the server send a response rpc back if the switch states differ.
On input → rpc server [state you are attempting on/off)
server rpc → get current state → compare state → validate action → if good, execute. Else rpc client current state.