Couple things I took note of:
If you are going to send money thru western union, it is best to send dollars (not sure with other currencies) and have your money picked up in Pesos. Up until a month ago, there was ZERO fee to send from your bank account, they now charge 2.50 or 2.99
If you send your money in pesos, western union will take a big chunk of your money with a crap exchange rate.
Also, I compared the rate at western union and BDO today. Western union rate was 44.65 and BDO was 44.55 Western union wins
Lastly, I made some purchases using my visa card and looked at the exchange rate, it was probably the best rate of all AND there is zero fee. My suggestion is to make as many purchases as you can with your visa card of you want the most favorable exchange rate. Please note: that is with my credit card, I do no know if all cards use the same rate, but it is worth checking into.