A couple of things I can add… You can make the widget a dynamic panel, as I think you can only drag dynamic panels. The set the OnDrag interaction to move it with drag…
I have solved the drop on another panel by create a “drop zone” rectangle that I “show” from the OnDrag in the widget being dragged… then on the OnDrop, you can see if your cursor.x and cursor.y is inside the dropzone object… I suspect you could just check if it’s in the dynamic panel (If Cursor is Over XXXWidget) in the OnDrop condition… and if so, do something, if not, do something else… I used the dropzone to visually indicate that the user can drop the widget on the panel, it is usually transparent, but turns a color with transparency to show it can be dropped on.
Sorry I don;t have anything I can share now to help, but hopefully this points you in a good direction.