Io ho fatto in questo modo:
if (Mouse.Dragged is ...)
{
System.Windows.Forms.Form form = GetForm();
int dx = (int)((form.Left + Mouse.X) - Mouse.StartDragX);
int dy = (int)((form.Top + Mouse.Y) - Mouse.StartDragY);
form.Left += dx;
form.Top += dy;
Mouse.StartDragX += dx;
Mouse.StartDragY += dy;
if (form.Top > 400)
return;
}
}