The easiest way to do this would be to create a cluster, where the first element in the cluster is the element from the 3D array you want to sort by, and the second element is the entire page associated with that sorting element. Then wire this cluster into the Sort 1D Array function. Take the sorted output and unbundle the pages in a loop, and rebuild them into the 3D array. This trick is possible because the Sort 1D Array function allows you to sort a cluster array based on the first element in the cluster.
Wow, this is an old thread!!! 😮
Since my code example above has just been kudoed, I am taking the liberty to refresh the code a little bit. I believe it is more memory efficient to NOT drag the entire 3D array through the sorting mechanism, especically if large 3D arrays are involved. Here's what I would do today instead (same result!)