I've never used Western Union, but if you want to send money across the world quickly, I'm not sure of a better way to get it done. Transferring a thousand dollars from my bank account to the bank account of a relative would likely take at least a couple of days. Just transferring from my online bank to my local credit union takes a couple of days.
(Plus as others have noted, not everyone has a bank account.)