Hi,
how about this?:
func move():
motion = (destination - position).normalized() * MAX_SPEED * walk_slowdown
update_rotation(motion)
move_and_slide(motion)
func update_rotation(motion):
var vec0 = Vector2(1,0)
var rot = vec0.angle_to(motion)
rotation = lerp(rotation,rot,0.2)