You'r right, it is not for that. If you want to sort, use a List instead.
Queue<string> numbers = new Queue<string>();
numbers.Enqueue("one");
numbers.Enqueue("two");
numbers.Enqueue("three");
numbers.Enqueue("four");
numbers.Enqueue("five");
var a = numbers.ToList();
a.Sort();
a.Dump();
numbers = new Queue<string>(a);
numbers.Dump();
Non-generic way:
Queue qu = new Queue();
qu.Enqueue(4);
qu.Enqueue(1);
qu.Enqueue(5);
qu.Enqueue(2);
qu.Enqueue(3);
var a = qu.ToArray().ToList();
a.Sort();
a.Dump();
qu = new Queue(a);
qu.Dump();