Você precisa de duas colunas:
- um para o valor, um float/double (ou um inteiro) que pode ser ordenado, usado em operações como somas, etc.
- um para a moeda (um caractere(3) seguindo o padrão ISO 4217 ) usado para outros fins (exibição, talvez conversão etc.)
Armazenar valor e símbolo dentro de um varchar não faz sentido, especialmente porque a posição do símbolo da moeda varia de país para país (pode estar no início ou no final), pode haver um espaço entre o símbolo e o valor, ou não, etc
Dito isto, se você não quiser alterar sua tabela, algo assim pode funcionar:
ORDER BY CAST(
REPLACE(REPLACE(REPLACE(thecolumn,'$',''),'£',''),'₹','')
AS DECIMAL(10,2)
)