1. DragAndDrop behavior ignores Solid. Physics is also not compatible with Solid.
If you need physics object to collide with other physics objects while dragging, you need to move them with physics actions - apply force, velocity etc.
Check out these examples:
howtoconstructdemos.com/physics-puzzler-move-and-re-arrange-blocks-with-mouse-c3p
howtoconstructdemos.com/physics-game-catch-apples-with-a-bucket-capx
2. You can use Touch plugin, it has "On Object Tap" condition - it's a gesture which only triggers if the object is quickly touched/clicked without moving.
Alternatively you can save the time and position of the click, and when the mouse button is released compare how much time has passed from the start of the click, and how far the object was moved. Say, if the time<0.3s and the distance<5px, then toggle the switch.
3. This task may be pretty difficult. When the cabinet is closed, you can disable physics for all objects inside of it, and add them as children to the cabinet (using hierarchy). Then they will be moved with the parent.
To arrange objects on shelves you probably need to define which objects can collide, using "Enable/Disable collisions" action.