Você está absolutamente certo em sua observação de que, normalmente, o VNC exige mais largura de banda do que o RDP.
VNC é um "porco de largura de banda" porque é orientado a duplicar os pixels do visor remoto. Por outro lado, o RDP é baseado em primitivas de desenho (caixas, linhas, etc) em vez de enviar atualizações de pixel. Pense nisso da seguinte maneira: No VNC, os pixels no display que são alterados são enviados pelo fio (um pouco simplificado). Se vários pixels forem modificados - digamos, ao desenhar uma caixa grande no meio da tela, um número potencialmente grande de pixels será modificado e precisará ser enviado pela rede. No RDP, a instrução "desenhe uma caixa no meio da tela" é enviada pelo fio (o que é muito mais conciso do que uma lista de pixels para alterar) e o cliente "desenha a caixa". (Estou radicalmente simplificando isso e não considerando a compactação VNC, mas isso dá uma ideia geral de como isso funciona.)
Você pode usar vários "sabores" do VNC que têm diferentes opções de compactação, mas no final do dia o protocolo RDP (e protocolos como ele - ICA, X, etc) são muito difíceis de "bater" porque, fundamentalmente, eles precisam mover menos dados para realizar o mesmo efeito.