Cinemachine blend works for one camera but not back to the other

I need to smoothly move from looking at one object to the next on button click.
With one vcam this just snaps to the lookat, so I setup a second vcam and then use priority to blend between the two.

VCam1 ->V Cam2 blend works great
VCam2 → VCam1 no blend just snaps to target.

Script: I use to swap priorities(runs on button click):

void camSwitcher()
{
int campriority = cam.GetComponent().Priority;
int camtwopriority = camtwo.GetComponent().Priority;
if (campriority > camtwopriority)
{
camtwo.GetComponent().Priority = campriority+1;
}
else
{
cam.GetComponent().Priority = camtwopriority+1;
}
}

Brain script on main camera: set to blend from ANY to ANY Ease in out

Any advice on how to blend back and forth massively appreciated!

Update: I followed Gregoryl’s advice here and just used one camera:
"If you change the target of a vcam it will snap to the new position.

Instead of changing the target, you can make an invisible gameObject that tracks the real target. Use the invisible object as the vcam target. When you want to change real targets, lerp the invisible object to the new position and begin tracking the new object."

This works, I would still like to understand why the blending from vcam 2 → vcam 1 wouldn’t though.
Solved but not understood.

Edit: Movetowards gave better results than lerp for the invisible, so try both see what fits best

Cinemachine should blend in both directions. I don’t see an obvious problem with your script. I suspect that you have something else going on that’s causing the problem. Can you make a simple project that reproduces this?