Все зависит от природы данных. Если это просто строка, которая уже существует в памяти, то все равно. Response.OutputStream может быть более эфективным при чтении данных например из файла или из сетевого ресурса блоками. Однако в этом случае имеет смысл использовать FileStreamResult.