I prefer making a separate (invisible) draggable sprite.
Say, you want to drag a small ball. Add another sprite DragBox, you can make it bigger than the ball, add Drag&Drop behavior to it. Add these events:
DragBox is dragging -> Ball set position to (clamp(DragBox.x, ViewportLeft,ViewportRight), clamp(DragBox.y, ViewportTop,ViewportBottom))
DragBox on Drag end -> DragBox set position to (Ball.X, Ball.Y)
You can change clamp() parameters to limit dragging to some small area of the screen.