Los cursores implícitos/explícitos son "nativos" de pl/sql y pueden aprovechar el cache para ahorrar el parseo.
El otro caso que presentas es un "REF CURSOR / Variable de tipo cursor" que es un puntero a la dirección de memoria donde reside el resultado de tu consulta. En este escenario es inevitable el parseo. Si tu aplicacion requiere de todas formas ese tipo de estructura te recomiendo incrementar el valor del parametro session_cached_cursors para mejorar el rendimiento del parseo que siempre sucedera.