IDragHandler Улетает в Нарнию. Почему?
Дело в том, что тач происходит  в другой системе координат.
Что бы перевести тач в "мировые" координаты вам необходимо использовать метод Camera.main.ScreenToWorldPoint()public void OnDrag(PointerEventData eventData)
{
   transform.position = Camera.main.ScreenToWorldPoint(eventData.position);
}
Интернеты советуют попробовать:public void OnDrag(PointerEventData eventData)
{
    transform.position += (Vector3)eventData.delta;
}