With a mouse, you have at least one button you can signal an event with.
Imagine doing a UI where you didn't have a mouse button. All you can do is move and point. That's a Kinect, for the most part.
I haven't used a LeapMotion, but I suspect it's the same problem; there's no way to generate a discrete event. It's all fuzzy. Did your fingers touch? Did you wave in a particular way? Some fuzzy matcher is pumping out "90% probability of event X, 75% probability of event Y" every few milliseconds, and it's up to higher layers to turn this goo into decisions that people are happy with. It's hard at all layers.
I really think you need a button, a clicker. Something "hard" in the UI that slams a voice of reason into that fuzzy tower that's continually only able to /guess/ what you're trying to do.
[We wanted a clicker on Kinect. Politically impossible. I think it would have helped a lot.]