Realmente esto depende de la estructura de cada proyecto y por supuesto de la programación que se realice.
Desde que nació DBExpress nos han vendido que dbExpress con DataSnap es más rápido. Mi opinión ( y es sólo mi opinión) después de estar utilizando dbExpress + DataSnap + Midas desde que nació, es que realmente es más lento que utilizar una conexión directa a base de datos (ibx por ejemplo) y una Query que trabaje directamente con un cursor en base de datos. Siempre hablando de aplicaciones Cliente/Servidor que correrán en redes locales.
La explicación es muy sencilla dbExpress retorna muy rápido los registros de un cursor. Pero después al utilizar el ProviderDataset y el ClientDataset se realizan una serie de procesos (empaquetado+desempaquetado de registros) que en conjunto hacen el proceso más lento.
Pero claro, es mi humilde opinión.
Un saludo.