Some other random tips:
remapValue nodes are a bit lighter than driven keys. Especially if your driven keys are just linear values between 2 keys, you might as well use remapValue instead. (You can’t cycle with them though.)
Expressions are not “really bad” they just evaluate every frame and you have to keep that in mind. They certainly can be a lot slower. The key is to test. Every once in a rare while, expressions are the most feasible solution.
Here is a good article on deformation layering and making sure your rig can work in parallel evaluation. This might be less applicable to use if you are doing mechanical stuff. But it could be interesting. Deformation Layering in Maya’s Parallel GPU World | by Charles Wardlaw | Medium