OrderBy com letras suecas

Tenho uma lista do meu cliente de classe personalizada e quero classificá-los em ordem alfabética por Título. Então eu escrevi

myList = myList.OrderByDescending(x => x.Title).ToList<Customer>();

Agora, o problema é que esse método não suporta a maneira sueca de classificar as letras å, ä, ö. Eles devem aparecer no final após a letra z, mas não aparecem.

Então, criei um método de solução alternativa que substitui as letras suecas antes do pedido e depois as altera novamente. Parece isso, mas é bem lento. Alguém pode pensar em uma maneira melhor?

private List<Customer> OrderBySwedish(List<Customer> myList)
    {
        foreach (var customer in myList)
        {
            customer.Title = customer.Title.Replace("å", "zzz1").Replace("ä", "zzz2").Replace("ö", "zzz3").Replace("Å", "Zzz1").Replace("Ä", "Zzz2").Replace("Ö", "Zzz3");
        }

        myList= myList.OrderBy(x => x.Title).ToList<Customer>();

        foreach (var customer in myList)
        {
            customer.Title = customer.Title.Replace("zzz1", "å").Replace("zzz2", "ä").Replace("zzz3", "ö").Replace("Zzz1", "Å").Replace("Zzz2", "Ä").Replace("Zzz3", "Ö");
        }
        return myList;
    }

questionAnswers(4)

yourAnswerToTheQuestion