If this is static data means, the rows will be fixed as you shown in input you can use @Ajay_Mishras solution else the data is dynamic then you should be asking for logic from business in which your rows should be sorted.
We can understand the use case as a custom sorting
When we define only a subset of custom sort definitions we would decide if other rows are place before or afterwards
Custom sort on USD, GBP, EURO, SGD, AUD others at the end
(From d In dtData.AsEnumerable
Let cs = d("Currency").toString.ToUpper.Trim
Let ix = Array.IndexOf(arrCS.Reverse().ToArray, cs)
Order By ix Descending
Select r = d).CopyToDataTable