List<string>.SortやArray.Sortの場合も同様に、GetStringComparer拡張メソッドで取得したStringComparerをSortメソッドに渡すことにより、CompareOptionsを使用したソートを行うことができます。
例として、CompareOptions.IgnoreKanaType/IgnoreWidthを使って、ひらがなとカタカナの違い/全角と半角の違いを無視してソートするには次のようにします。
.NET Framework 4.7以前の場合は、Comparison<string>デリゲートに適合するメソッドあるいはラムダ式を記述することで、CompareOptionsを使用したソートを行うことができます。
        CompareOptionsを使用して全角半角の違いを無視して配列をソートする .NET Framework 4.7
      using System;
using System.Collections.Generic;
using System.Globalization;
class Sample {
  static void Main()
  {
    var wordArray = new[] {"foo", "Foo", "foo", "FOO", "FOO", "Foo"};
    Console.WriteLine("before sort                    : {0}", String.Join(", ", wordArray));
    // CultureInfo.InvariantCultureをベースに、CompareOptions.IgnoreWidthを指定して
    // 全角半角の違いを無視してソートする
    Array.Sort(wordArray, CultureInfo.InvariantCulture.CompareInfo.GetStringComparer(CompareOptions.IgnoreWidth));
    // .NET Framework 4.7以前の場合は、String.Comparerメソッドを使用してソート順を定義する必要がある
    //Array.Sort(wordArray, (x, y) => String.Compare(x, y, CultureInfo.InvariantCulture, CompareOptions.IgnoreWidth));
    Console.WriteLine("CompareOptions.IgnoreWidth     : {0}", String.Join(", ", wordArray));
    Array.Sort(wordArray, StringComparer.InvariantCulture);
    Console.WriteLine("StringComparer.InvariantCulture: {0}", String.Join(", ", wordArray));
    Array.Sort(wordArray, StringComparer.Ordinal);
    Console.WriteLine("StringComparer.Ordinal         : {0}", String.Join(", ", wordArray));
  }
}
実行結果
      before sort : foo, Foo, foo, FOO, FOO, Foo CompareOptions.IgnoreWidth : foo, foo, Foo, Foo, FOO, FOO StringComparer.InvariantCulture: foo, foo, Foo, FOO, Foo, FOO StringComparer.Ordinal : FOO, Foo, foo, FOO, Foo, foo
Comparison<T>デリゲートについては大小関係の定義と比較 §.Comparison<T>を参照してください。
ソートについて詳しくは基本型のソートと昇順・降順でのソートを参照してください。