Moving Maincamera slowly to another position

I want to move main camera slowly from one point to another point when a button is pressed. This button calls the method which has the code to move the camera.

I have tried using the Lerp method but the camera position is changing so fast that when I click on the button camera directly shifting to a new position. I want the camera to move slowly to a new position.

Below is my code, can anyone please help me with this.

using System.Collections;
using System.Collections.Generic;

using UnityEngine;

public class Cameramove : MonoBehaviour
    public GameObject cam;
    Vector3 moveToPosition;// This is where the camera will move after the start
    float speed = 2f; // this is the speed at which the camera moves
    public void move()
        //Assigning new position to moveTOPosition
        moveToPosition = new Vector3(200f, 400f, -220f);
        float step = speed * Time.deltaTime;
        cam.transform.position = Vector3.Lerp(cam.transform.position, moveToPosition, step);

try making small increments in the update functions