I find the controls very confusing. It's hard to guess whether I'm going to make a move or reorient the cube. Usually, it makes a move when I'm trying to reorient the cube.
(OP) You're right - left-mousing outside of the cube and moving the mouse around re-orients the cube. Left-mousing a face and dragging across one of the four boundaries of that face will rotate the face in the direction of the boundary you crossed.
I'm wondering if there would be a clean way to communicate the above to the user other than having them experiment and find it on their own.