You can use an O(n) radix sort on the Z-values because IEEE-754 floats share the integer property that leftmost bits always have higher values than rightward ones.
Oh that just made it click in my head why they would do it as sign, exponent, mantissa and not sign, mantissa, exponent. I mean yes I've been taught it's for sorting purposes, but this really helped it fit better. Thanks!
Yes, but... "leftmost" in this case means MSB-sidemost, so little-endian systems will start sorting from the MSB only after loading the full value in a register; if you try sorting directly from memory in binary chunks smaller than the float size, first locate where the MSB is stored.