As part of multicurrency implementation where each product had a custom price per all currencies being used at the shop, we had created a custom field plugin which is capable of setting a different price per each currency selected. The default price of each product was set to zero and purely attribute prices were used. The plugin works also in a single currency set up where you can easily add more attributes to the product the most simple way.
When associated to a product, the attributes configuration will look like:
1000 is base price
100 USD is an attribute of the above configuration per USD
20 USD is another attribute of the above configuratino per USD
Numeric names of the attributes here are used only for presentation purposes.