Custom rules should work in your case. What/how did you try to build your rule? What was wrong with it? If you can make a rule in a "normal" scenario, then you should be able to do it in parallel processing scenario.
Normally rules work like this:
-You define some kind of input parameter(s) (=elements). Let's say you deliver sales organisation for the rule.
-In your function module, you should read this element, do your coding based on that, and then return the agents to the actor tab.
=>You are done! Test your rule first in the rule editor, and then if it is working, just add it to your step in your workflow. Now the possible tricky part might be that how you bind the sales organisation to the rule. => You should most probably have the sales organisation in your LI_APPROVERS, so you can refer to it with [&_WF_PARFOREACH_INDEX& etc.
Kind regards,
Karri
PS. By the way, what was wrong with your previous solution? Eventually the result is the same, isn't it? (Of course a rule might give you some advantages...)