To get around your multiple order party issue, try creating a common event. If you have the 'Order' option from the default menu available, this won't work.
If you've made a custom ordering/party management system, have a variable set to the value of the front hero when they get set. Then in the common event just have conditional branches check what the variable is, and in each have the animation the same, but the charset different. (Or if you have some characters in the same set, change the position and so on. I think you know how to get around that.) You could go more complex and have an expression variable too, saving you from having to make a common event for each expression, combining it all into one.
Do note also this'll only work for the 'Hero' instance. If you're using events in cutscenes, you'll want to create variables or switches for each character's event, and have the events have multiple pages. On each page set the animation and conditions to the variables and sprites you want. Make sure each event uses its OWN switches or variables, or you'll have two characters animating when only one should.
Is this clear?