To suggest a way to make it faster, we need to know why it's slow. So we need to see what the CTAS is doing.
To find that out, trace your session. You can do this by running:
exec DBMS_monitor.session_trace_enable ( null, null, true, true );
***your code here***
exec DBMS_monitor.session_trace_disable;
Do this for both the stand alone select statement and the create table as select. Then get the trace file and format it with TKPROF. This will show you what's different between the two and why the CTAS is taking so much longer.
If you're still struggling when you've got these, post the TKPROF results here and we'll see what we can do.
If you want to know more about tracing and TKPROF, read:
https://blogs.oracle.com/sql/how-to-create-an-execution-plan#tkprof