Grabbing objects solved like this:
1. Hand objects have trigger colliders.
2. Pickable objects are tagged "Pickable"
3. On hand trigger stay with Pickable, we check if grab button is down (pressed)
4. If it is, we parent the pickable object to the hand and set it to kinematic
5. If the grab button is up (released), we get the velocity vector of the hand GameObject, we unparent the pickable object, set it to non-kinematic and we Add Force using the velocity of hand object we just got. We can also check the delta rotation and add Torque to the object using it.
I also tried Unity built in constraints, I tried Rigid Body move position Action, I tried setting object to non-kinematic while parented and setting their velocity to local 0 every frame and I also tried drag rigid body with GameObject... Those solutions worked well if I was stationary (not walking). Moving around on the level always caused jitter on the held rigid body object.
Btw. I just ported it to Vive (again, just with PlayMaker basic Actions, no scripting - but any real programmer would probably facepalm if they knew how I did it...
) - and now it's just awesome, becasue the tracking is really good.