Many ways... You can bind a identical skeleton to the characters (or even the same skeleton, just hide the character not in use), and then just copy paste the keys over form hiearchy one to hirarchy two (or if need be use direct connectons is a possiblility too). And if the rig is identical (ie they have identtical channels), then theres nothing that says you cant doe the same with blendshapes etc etc.
Its just numeric data thats passed aroound... As longa s everything is identical its just stright forward tocopy animtion nodes from a hierarchy to next. BUt yeah scripting makes this easier.
And then theres the trax way offcourse.
Its just about how you plan and need realy. Its also possible to translate anim even if the keys arent identical... youll just need to make tools to compensate for the fact that they arent identtical.
Its not hard but seeming as you ask seems to me your a bit over your head. THink about it its realy a clear thing to do just open hypergraph and wach what the nodes eat.