If YYY is not correspondent bank of XXX bank, then there is a intermediary bank involved. The charge is for the intermediary bank to transfer the fund to YYY bank. The charge is mostly flat irrespective of the amount. ie whether you send thousand rupees or one lakh rupees the charge is the same.

Otherwise try to send it through the bank/exchange where intermediary bank is not involved as suggested by Salammk.