I'll be surprised if anyone improves on the Knuth shuffle. It's O(n).
It takes O(n) random numbers, which is not sufficient for me.
This citation claims an O(n log n) algorithm.
We'd all love to see see O(log n) or O(1).
O(log n) algorithms usually depend on "divide and conquer" bisection, which brings to mind cutting the deck and dividing each half.
But I can't help but think that if a faster algorithm were accessible Knuth would have found it.