i css possono essere utilizzati anche nei layout con tabelle. Quelli che intendi te si chiamano layout tableless (senza tabelle) e hanno la caratteristica di avere la struttura e basta, tutta la formattazione della pagina è data dai css.
il php non c'entra niente con i layout in quanto restiuisce come output (x)html

Meglio o peggio è soggettivo, per me sono più elaboriosi da fare, ma terminati hanno una gestione più facile.