You can use /filter -a to sort a hidden window. Presumably you're not hardcoding the channels, so they're coming from a list anyway, which means you can /filter from some "channels.txt" input file.

Code:
alias filtersort.rand { return $calc($rand(0,2) - 1) }
alias joinrand { 
  var %i = 1, %channels = ""
  window -h @joinrand
  filter -afw channels.txt @joinrand filtersort.rand *
  while ($line(@joinrand,%i)) {
    %channels = $addtok(%channels,$v1,44)
    inc %i
  }
  join %channels
  window -c @joinrand
}