Try this... I know it's quite big, but I'm sure someone can refine it!!! (if it works!!):

I presume /jointest is called without any parameters on first connect...

Code:
alias jointest {
  if ($1 === ^HalT^) { halt }
  if ($1 !== $null) {
    timer 1 5 join $1
    set %JoinTestChans $remtok(%JoinTestChans,$1,32)
    halt
  }
  [color:green];Replace #Chan1,2,3,4...etc with your channels (or use a variable)[/color]
  set %JoinTestChans #Chan2 #Chan3 #Chan4
  timer 1 5 join #Chan1
}

on *:JOIN:#:{
  if ($nick == $me) {
    if ($numtok(%JoinTestChans,32) == 0) { jointest ^halt^ }
    if ($numtok(%JoinTestChans,32) !== 0) { jointest $gettok(%JoinTestChans,1,32) }
  }
}


What it does is:
10 you type: /jointest when you connect.
20 you then join a server and the on JOIN event triggers.
30 on JOIN event starts the alias jointest <next chan>
40 timer is set to join the next channel
50 goto 20

something like that!!!

Hope it helps