Code:
alias testfilter {
  var %ticks = $ticks
  var %w = @ChannelList1 | window %w | clear %w
  aline -p %w Network1×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  aline -p %w Network2×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  aline -p %w Network3×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  aline -p %w Network4×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  aline -p %w Network5×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  aline -p %w Network6×#channel1×<NOKEY>×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×ON×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×OFF×DESCRIBE×OFF
  window @TMP | clear @TMP | filter -wwc %w @TMP $makewm1(23,$+(1 *,$chr(215),15 ON,$chr(215),21 ON))
  echo -s $calc(($ticks - %ticks) / 1000)
}
alias makewm1 {
  var %t = $chr(215), %a = $asc(%t), %total = $1, %toks = $2-
  var %i = 1, %wm | while (%i < %total) { var %wm = $+(%wm,*,%t) | inc %i }
  var %wm = $+(%wm,*), %total = $numtok(%toks,%a), %i = 1 | while (%i <= %total) { tokenize 32 $gettok(%toks,%i,%a) | var %wm = $puttok(%wm,$2-,$1,%a) | inc %i }
  return %wm
}

The second alias makes a wildcard string with searchtokens on certain positions.

The example takes 39 secs.

When changing the wildcard string to
$makewm1(23,$+(1 *,$chr(215),4 ON,$chr(215),6 ON))
it takes 0.065 secs.

Don't know if this can be called a bug as such, but there is some issue with /filter