Want to share with others something beneficial. This should be updated into the documentation for others to benefit.
The 2 choices suggested by documentation for historical FX rates are to download from either Oanda or Fed and to use Generic Import.
A more robust method I found was to link the feed to Bloomberg. E.g. EURUSD the symbol is EURUSD:CUR for the Bloomberg historical server. Data upload is very fast and avoid human error during the more tedious import process.
Would suggest a feature which is to upload the major currency pairs against USD automatically into the system via these data feeds and then work out the internal currency cross rates. For example a home currency CAD portfolio would use EURUSD and USDCAD rates to revalue the holdings for EUR stock. This is because EURUSD and USDCAD are published and easy to verify, EURCAD is a cross that is not frequently monitored.
Using this method the system will allow for sub portfolios to switch reporting currency without having to re-link each currency instrument under the Options >> Currency Settings
This can happen for people who use 2 or more reporting currencies and should be included at least in the Professional and Advisor modules. I can think of many situations when reporting currency is specific to the portfolio/sub-portfolio. Handling of common currency situations is more robust (less error prone) when there is a system function like from a drop down menu. The current flexible DIY system is important but better for a "Custom" function when the standard menu is not sufficient.
The robust way to do this would be for FM to run an internal database for all the main currency pairs (since the source can change over time) and the data inside to be scrubbed and checked for accuracy. The FM system then gets the currency data directly from the FM database server instead of from any and every server around the world. Exception would be for the "Custom" feature which can be using the current system Options >> Currency Settings
That's my 2 cents worth