How to make smooth moving?

I made a script, but thinks in the script is moving instatnly on position. i’d like it mooving slowly on this place. Script is looking this style:
using UnityEngine;
using System.Collections;

public class InventoryMove : MonoBehaviour {

private Vector3 velocity = Vector3.zero;
public string name;
public int invpos;
private Vector3 mover;
public GameObject Point1;
public GameObject Point2;
public GameObject Point3;
public GameObject Point4;
public GameObject Point5;

// Use this for initialization
void Start () {
	
}

// Update is called once per frame
void Update () {
	
	if (Input.GetButtonDown("InventoryMoveLeft")){
		invpos = invpos - 1;
		if(invpos == -3){
			invpos = 2;
		}
	}
	if (Input.GetButtonDown("InventoryMoveRight")){
		invpos = invpos + 1;
		if(invpos == 3){
			invpos = -2;
		}
	}
	if(name == "Hand"){
		if (invpos == 0){
			
			mover = Point1.transform.position;
		}
		if (invpos == 1){
			mover = Point2.transform.position;

		}
		if (invpos == 2){
			mover = Point3.transform.position;

		}
		if (invpos == -1){
			mover = Point4.transform.position;

		}
		if (invpos == -2){
			mover = Point5.transform.position;

		}

	}

	transform.position = mover;
}

}

Use addforce. It applies a “push” to a gameobject.