This is precisely the function of the Custom Parameter Behavior. Unfortunately, if you're going to use it, then you have to build the animation from scratch in the behavior - you can't copy/paste keyframes from other objects into it. Planning ahead saves time. Use your original keyframed object as a guide for setting up a Custom behavior, then clear the keyframes on that original object and apply the Custom.
You can add as many parameters you want to control in the Custom Behavior (it will only let you add those parameters that are available to the object you attach it to), so if you need Position, Rotation, Scale, Opacity, etc. etc. in a single behavior, it's easy to build. Once you've added the parameters you want, keyframe them like you want the object to behave. [Set the original parameters to a specific starting point or 0,0,0; 0,0,0; 100% scale, etc. and create the behavior keyframes from there. ALL parameters used in the Custom Behavior are Additive. (Think about that for a minute - means subtraction too if values are negative.) That means, no matter what the original starting point for a parameter under custom control, you can alter the original parameter and the behavior is applied to the offset!! You can add custom behaviors to be used "on top" of link behaviors. It can all get extremely sophisticated. It also means you can publish the main parameters (like Position, Rotation, etc.) and still have the custom animation applied (and have it all work in FCPX, which you CANNOT do if you keyframe those original parameters and try publishing them - it's a waste of time.) One more thing: if you right click on the Custom name/label in the Behaviors inspector, you will see you are able to Publish the parameter. In the Published parameters list you will see Custom √ — double click on Custom and name it something like Default Animation and allow the user to turn it on or off - if published with the original object parameters, then the animation is offset from whatever else the user keyframes... it can be "wicked cool".
Once you've keyframed the Custom behavior, option drag and drop it on other objects. You can directly drag the custom behavior into your Library > Favorites (Rename it to something meaningful!) and apply it to other objects in other projects down the line. You have to make sure that the In and Out points match the life of your object — The timing of the custom behavior will be expanded or contracted (scaled) based on that object's life (which is nice actually) so you can speed up or slow down the animations just by setting the timing of the object. (If you don't match Ins/Outs, the behavior is literally "unplugged" and the object reverts immediately back to its original parameter settings.)
Most of the time when you want to add a behavior to an object's parameter, you right click on that parameter and choose Add Parameter Behavior > choice. You can't do that with the Custom behavior, you have to find it in Behaviors > Parameter > Custom (either in the library or from the parameter icon under the canvas.)
Another really sick thing you can do with Custom is add ITS parameters to a Popup menu rig and Enable or Disable Animation for a snapshot. You can add specific parameters multiple times - example - add three Position parameters with 3 different animations and create a menu to choose WHICH animation you want to use by setting the Enable/Disable Animation option (right click on the parameter in the Rig).
HTH