Provavelmente é uma combinação de preguiça e o
SET ROLE
comando. Discordo que não seja permitido por causa de dependências complexas. A Oracle já gerencia dependências complexas. E no 12c é possível conceder um papel a um objeto.
Eu acho que a verdadeira razão pela qual os objetos não herdam as funções do usuário é por causa do
SET ROLE
comando. É possível atribuir uma função a um usuário, mas ativá-la e desativá-la em uma sessão. Esse é um recurso bobo e eu nunca o vi usado. Mas, teoricamente, seria necessário recompilar dentro da mesma sessão ou transação, o que seria muito confuso.