I thought this might happen. as lamar suggested making the home a area little bigger should stop it overshooting and correcting but it wont be in the middle. Maybe try making the "deadzone" a bit bigger, put +- 2 or 3 instead of 1
But I reckon if you are serious about doing it like a pro then you will probably want to code it by setting 3 waypoints for the left/middle/right and move to them appropriately on button presses.
there are a number of ways to do it....
I'm thinking you could probably do this very easily and smoothly using a fast lerp
i.e. lerp (currentplayer.x, target waypoint.x, lerpfactor*dt).
Or to use lerp correctly then.... (https://www.scirra.com/blog/ashley/17/u ... delta-time)
otherwise move at a steady pixels per second towards the way point, calculating the distance each time to the way point so you don't overshoot, there should be loads of tutorials on here about moving to waypoints. need to go do some work at work now to make it look like I am doing work but can give some code later tonight...