Are there less complex alternatives?
I have used a simpler code and I am getting apparently the same result:
SelectedCurrencySalesAmount = if(ISFILTERED(dim_Currency[CurrencyName]),'#Measures'[TotalSalesAmount], "No Currency Selected")
Is this a valid alternative or this will lead to wrong results?
Sure, this is ok to use. There is no need to write more complex expression.