How to smoothly move a RigidBody a fixed distance on Keydown

I’m trying to build a 3 lane runner with similar mechanics to Subway Surfer.

Using c# what is the technique I could use to move the player smoothly from one lane to the next?
I have a RigidBody attached to my player so I am of the understanding that I need to use AddForce().

Currently I am doing something like this.

    void Update() {
        if (Input.GetKey("left"))
            rigidbody.AddForce(15, 0, 0);
       
        if (Input.GetKey("right"))
            rigidbody.AddForce(-15, 0, 0);
       
    }

In psuedo code I’m trying to do :

IF key pressed, THEN move player 5 units along the X axis.

Any suggestions?
Thanks

Letting the physic drive your character is a bad idea.

You should look at; Unity - Scripting API: Rigidbody.MovePosition

Thanks LightStriker, MovePosition proved to be a much better approach.
And to answer my opening question about movement. I found the iTween library to be useful.

Hi, this video tutorial will answer your question.