I would recommend using Action Constraints. Here's how I would do that, and it actually works really well.
Start by making an animation, with the rest pose on frame one, and the final pose on a later frame. Make the animation fairly long, say 100 frames or so. Add whatever keyframes you need so that the animation looks like you want.
Next, you'll need a control bone or object, something to that the end animator will interact with. This can be a bone on the same rig, or a separate object entirely.
Finally, you will need to add an Action Constraint to every bone that moves in the animation you made.
In the Action Constraint settings, select your rig and control bone (or just the object). Select the action that you made, and set the action range (frames) to whatever you used. For example, if the animation you made was 100 frames long, it would start on 1, and end on 100. For the target, choose whatever transform you want to use to control the rig at the end. If you want it to behave like a slider, choose one of the 3 location options. You'll probably want to switch to Local Space as well. Then choose the target range. This defines how far you need to move the control to drive the whole animation. If you think that moving the control one Blender unit is good, set the minimum to 0 and the maximum to 1. Note, when using Local Space, the minimum will always be 0.
Now, when you move the control on whatever axis you chose, you will be able to control the action that you made at the beginning. Add this constraint to all the bones that will need to move and you're done! There may be a way to automate this to make it faster if you have a lot of bones to apply this to, but I don't know how to do that.