Se è questo quello che vuoi allora:`
\begingroup\makeatletter
\pagestyle{empty}
\let\ps@plain\ps@empty
\tableofcontents
\listoffigures
\listoftables
\endgroup`
Senza bisogno di ridefinire empty che fa già tutto quello che deve fare, tranne nella prima pagina dei capitoli, (i tre indici sono inziati con comandi del tipo [tt]\chapter*[/tt]); se dentro al gruppo dici che lo stile plain è un alias di empty, nella prima pagina di quegli elenchi non appare più il numero di pagina in calce.
Definire uno stile con fancyhdr che non contenga niente nelle testatine e nei piedini richiederebbe solo due righe, come appara nella documentazione:`
\fancyhead{}
\fancyfoot{}`
ma in questo caso non serve, in effetti se tu vuoi vuote sia la testatina sia il piedino; solo la prima pagina dei capitoli in realtà richiede di scavalcare l’impostazione fatta dal comando [tt]\chapter*[/tt] senza metterci le mani dentro, e cioè senza ridefinire [tt]\chapter*[/tt] ma rendendo localmente lo stile plain equivalente a empty; così facendo, quando il comando iniziale dell’indice o delle liste specifica [tt]\thispagestyle{plain}[/tt] in effetti viene eseguito, grazie all’equivalenza, [tt]\thispagestyle{empty}[/tt].