It depends on the what you mean by works well. If you mean stores its
data outside on its own and can integrate existing ones would just
need a messaging adapter. If you mean where it stores its data (state)
in the event store as well that requires a bit more work.
NServiceBus, Mass Transit, bpls, biztalk, etc could all be used
relatively easily in the first scenario (needs an adapter) the
transactional aspects can be handled relatively easily even though 2pc
is not at this time supported externally (we have planned to support
though its not really needed, if you use expected version numbers its
idempotent). The second scenario requires changing the way they
internally hold state and is a bit more work. I know there are
projects underway to bring this.
There is a third option that you probably see if you concentrate on
the problem for a while. Use JavaScript. Although you could feasibly
use the projections framework to write long running processes into the
ES I would not highly recommend it 
Cheers,
Greg