Se você optar por 1), todas as suas solicitações (mesmo para o site válido) precisam ser processadas pelo módulo de reescrita de url. Se você tiver um monte de regras, isso aumenta o tempo de processamento de cada solicitação.
Se você optar por 2), apenas os pedidos que ainda não foram tratados pelo site principal serão processados pelo módulo de reescrita. Isso é preferível.
Uma terceira opção seria, ainda ter mais de 20 sites. Um para cada site original. Então, para cada site, você tem uma lista muito menor de regras de reescrita apenas para esse site específico.
Mesmo que essa opção leve mais tempo para ser configurada (o script é seu amigo), ela deve ser a mais rápida, porque você permite que o http.sys no modo kernel decida o que fazer com cada solicitação, encaminha a solicitação para o correto local. Então suas regras de reescrita têm menos trabalho a fazer.