É mais fácil fazer o benchmark do que falar, mas estou chutando que teríamos a seguinte situação:
Tempo gasto:
FileChannel.transferTo < NIO Buffers < BufferedXStream+FileXStream < FileXStream puro
Consumo de memória:
FileChannel.transferTo < FileXStream < BufferedXStream + FileXStream < NIO Bufffers
Consumo de CPU (supondo que, se você tiver um disco ATA, que esteja configurado para usar DMA para reduzir o consumo de CPU em I/O):
FileChannel.transferTo < NIO Buffers < BufferedXStream + FileXStream < FileXStream
É estranho que eu esteja chutando que BufferedXStream + FileXStream consuma menos CPU que FileXStream sozinho (afinal, está executando mais código), mas é que BufferedXStream evita que FileXStream esteja constantemente acessando o sistema operacional via JNI, o que consome um monte de CPU.
Obviamente é necessário fazer o teste, porque na prática aparecem coisas que não são esperadas só pela teoria. (Para explicar os resultados, é preciso mudar a teoria…)