I never came across any issue that required me to use external web services or interact with currency converter within a C# project or SharePoint Custom Action solution(Don't be afraid people its just C# project in visual studio).
I am not sure if this question is suitable for this site or not, but developers did you ever tried to get currency rates within your visual studio solutions if yes then how and which ? I think I can use web services but is that's the only way of doing it, and also which as I am not sure who provides free service and is stable as well.
There are currency rates services out there. However, the business and LOB rules should dictate how you actual do this.
The trick to doing your own conversions is to have an internal constant currency to which all the other currencies are compared relatively. This way you only need ratios for all currencies to one currency (N:1) rather then all currencies to all currencies (N:N).