Ни лучше, ни хуже, используйте тот, который больше всего подходит для вашей ситуации.
Например, если файл находится на диске, вероятно, вы загрузите его в поток
var stream = File.OpeanRead("C:\myfile.ext")
Нет смысла превращать это в байтовый массив.
Однако, если у вас есть файл в памяти, он может быть уже в байтовом массиве. В этом случае нет смысла превращать его в поток.