Because indeed of the blank event that gets executed every tick (since it's blank), setting the position of your sprite to touch.X.
Apparently, when not touching the screen, touch.X = 0.
Since there is no condition, your action set position to touch.x is executed every tick.
I guess adding a Touch."is in touch" condition should fix this.