Нет. Интерфейс в Go - это структура из двух указателей (тип и значение), около 16 байт на 64-битной платформе. Передавать интерфейс по значению уже дёшево; передача по указателю (*io.Reader) только усложняет API и редко даёт выигрыш. Передавайте интерфейсы по значению: func F(r io.Reader).
func Process(r io.Reader) { ... } // правильно
func Process(r *io.Reader) { ... } // обычно не нужно
Указатель на интерфейс имеет смысл только если нужно изменить саму переменную-интерфейс внутри функции (редкий случай).