With xargs I always have the problem that lines get mangled when you have concurrent output, so you have to work around that. GNU parallel prevents this by some magic.
The "magic" is simply output buffering inside GNU parallel...something you should be aware of if the concurrent programs are producing large amounts of output.
If you find yourself depending on the order of output lines, your are probably better off using something like Python Fabric instead.
Reproducing that behavior with just bash and xargs is too difficult for me.