This is because you can move your finger faster than the game has time to realize. The proper way to do drag-and-drop is to set a boolean for the object once you touch it, and set it off once you take the finger off the screen.
Example:
Create a boolean variable for the object called "Dragging"
Touch object (once) -> set Dragging true
X Touching (screen) -> set Dragging false
Object is Dragging -> Object Set X,Y to Touch.X,Y