Aligning an object's "down" vector to another vector in world space, for better rotation I have an object whose definition includes up, forward, and left vectors in both local and world space. I can also cause yaw, pitch, and roll rotational acceleration on the object, relative to its local space.

I'd like to align this object's "down" to another vector in world space.

I'm able to do this currently by taking the object's down world vector and the target vector, using these to get a rotation matrix, extracting a pitch and roll angle from that matrix, and using those angles to influence the object's rotational acceleration.

The problem I'm having is that, while the object does always reach the target orientation, it gets there via a wobbly, round-about way.

Is there a method to achieve a more direct re-orientation path?

(While I understand the concepts in a general, conceptual kind of way, I'm not strong on the math. Despite this, you can assume the rotational matrix and Euler angles are computed correctly as those are done via third-party software. I'm aware of quaternions and they seem like they might be used to solve my problem but I'm not sure if they'd help given the constraints.)
As I stated in the question, the controls are on the object and so apply to local space but I was using global space vectors to calculate the rotation. When the axis are misaligned between local and remote space, and you're updating over time, you'll eventually hit your target orientation but will take a round-about path to do it.

I think this is because, repeatedly applying rotations meant for global axis alignment to local space induces a sort of wandering but, as the the local and global axes start to align, the angles when comparing global and local start to match up.

This may also explain why some starting orientations would have more wandering than others. The global and local pitch and roll would only match up if the yaw also matched up. I suspect the wandering was more pronounced when the initial local yaw wasn't near a global yaw that lined up properly. The psuedo-Lissajous motion would cause yaw twisting, eventually aligning all three.
As I stated in the question, the controls are on the object and so apply to local space but I was using global space vectors to calculate the rotation. When the axis are misaligned between local and remote space, and you're updating over time, you'll eventually hit your target orientation but will take a round-about path to do it.

I think this is because, repeatedly applying rotations meant for global axis alignment to local space induces a sort of wandering but, as the the local and global axes start to align, the angles when comparing global and local start to match up.

This may also explain why some starting orientations would have more wandering than others. The global and local pitch and roll would only match up if the yaw also matched up. I suspect the wandering was more pronounced when the initial local yaw wasn't near a global yaw that lined up properly. The psuedo-Lissajous motion would cause yaw twisting, eventually aligning all three.