You can contribute foreign funds to a TFSA. However, your issuer will convert the funds to Canadian dollars, using the date of the transaction, when reporting this information to the CRA. The total amount of your contribution, in Canadian dollars, cannot exceed your TFSA contribution room.
If dividend income from a foreign country is paid to a TFSA, the dividend income could be subject to foreign withholding tax.
http://www.cra-arc.gc.ca/tx/ndvdls/t...tmnts-eng.html
So you do not have to do the exchange, the issuer (Bank) will report the contribution in CAD.
Its not only about money. Its about freedom, friends and family too.