What is the difference between 元 (圓), 幣, and 金? In currency exchange booths, and in conversation, I've noticed this:


US dollar = 美元, 美金.
Hong Kong dollar = 港幣
Japanese Yen = 日元
Singapore dollar = 新幣
Euro = 歐元


There's also 英鎊 for the pound sterling, but I understand where that comes from.

What is the difference between 元 (圓), 幣, and 金? Is there a rule for using one over the other? Or is usage based on historical and/or personal preferences?

I've personally never seen anyone use "日幣", "歐金", etc.
元/圓 (dollar) is a unit of money, 澳洲元/圓 = Australian Dollar; 美元/圓 = US Dollar

圓 is the correct character, 元 is a sound-alike shorthand

Japan only use 圓, therefore, 日圓 = Japanese Yen 

幣 means 'coin' , referring to currency, 人民幣(People's coin) = China's currency; 新台幣 (New Taiwan coin) = Taiwan's currency

It is correct that choosing 圓 or 幣 mostly based on historical or personal preferences. Historically 圓 is more colloquial, general public would refer foreign coins as 圓; while 幣 is more formal and literary.

Calling 美元 as 美金 is a unique case. No other country's currency is called 金.

Back in the days when US tried to make US dollar the common currency of the world thus enable America to gain control of the world trade, they announced US dollar's value will be hooked with America's gold reserve . It meant America could only issue the amount of currency with equal value of gold in reserve. That effectively made US dollar as trust worthy as gold. American dollar was in effect, American gold. They could do that because at that time they had the largest gold reserve in the world. 

Nowadays it is no longer the case, US dollar no longer hooked up with gold's value, it is now based only upon the trust on America's economy 

Hong Kong people also use 紙 (as in 銀紙, meaning banknote) colloquially to refer to currency.

加紙, 加圓 and 加幣 all refer to Canadian currency 

港紙, 港圓 and 港幣 all refer to Hong Kong's currency