have this code to smoothly change the camera position:
public GameObject MyCam;
public float strength;
Vector3 cameraPosition = new Vector3(22.44445f, -3, 4.542897f);
MyCam.transform.position = Vector3.Lerp(transform.position, cameraPosition, strength);
however it sends my camera to absolutely different position(for example, 3.008285,-9.02228,-12.27002) - I read that it depends some from the 3rd parameter (strength in my case, I tested it setting from 0,001 and up to 10 - and still not wanted result)