Probablemente sea una combinación de pereza y SET ROLE
comando.
No estoy de acuerdo con que no esté permitido debido a dependencias complejas. Oracle ya gestiona dependencias complejas. Y en 12c es posible otorgar un rol a un objeto.
Creo que la verdadera razón por la que los objetos no heredan los roles del usuario es por SET ROLE
dominio. Es posible que a un usuario se le asigne un rol, pero que se active y desactive dentro de una sesión. Esa es una característica tonta y nunca la he visto usar. Pero, teóricamente, requeriría volver a compilar dentro de la misma sesión o transacción, lo que sería realmente confuso.