"change archivelog all crosscheck" checks whether archive logs are present at their original location suggested by controlfile or rman catalog.
It takes time because it checks every location from log sequence number 1.

U can speed it up by allocating multiple channels but it will be useful if ur system has multiple CPUs....Wen u keep on crosschecking it regularly, u can reduce the time it takes to backup archive logs as oracle server doesnt unnecessarily go on to check validity of expired archivelogs...

This is wat I think..