How to switch camera over shoulder but still the camera aim at center?

This is overkill.
On the camera switch button, drag out a flip flop. From the flip flop, connect to one timeline play from start and play from end.
You can put the x,y and z values all on the timeline.
Use a vinterp, put in the interp speed and “get world delta seconds” into the green input on the vinterp.
I used this so that the camera switch shoulders left to right, but also a little bit movement for further away and then close again, and also a bit up and down.
That way, you only have to affect the spring arm and never the camera itself.

If you have two shoulder button, I used Q and E, you can make custom events into the time line, from start and from end and then call these custom events from the two buttons, like the little R/L buttons on a controller.

EDIT: The Vinterp is of course for the spring arm offset locations. For the starting shoulder, just type in the default values, and make sure the next shoulder has the new values, otherwise it will snap switch in a weird way on the first switch, or be reversed.