Yeah, you're right; when one hand releases the object, the grasped pose controller retargets the desired object position to be in the remaining grasping hand. Then the grasped movement controller applies a large velocity to the object to get it to the suddenly very-different target position within one frame.
We should support better two-handed throws by default in the Interaction Engine; I've added an issue for this problem to our issue tracker:
Better support for two-handed throws would involve modifying our throw controller, and potentially modifying the interface to provide more contextual information about a two-handed throw. If you're feeling saucy, you might investigate a modification to SlidingWindowThrow.cs -- or implementing your own IThrowController and overriding the default SlidingWindowThrow on interaction objects you need to handle two-handed throws for -- in a way that suits your use-case. Either way, it's on our radar for the next IE release.