I tried to set all frictions to 0 (ground, cylinder, box) and set the angular velocities only once, hoping the movement would last forever, but it comes to an halt after some time:
I would do the same with setting angular/linear velocity each frame.
For the orientation, tranform the force direction from local to world space like this: