Passthru gives you explicit control. With the LIBNAME approach to database connections, SAS tries to generate native SQL code that it passes. Sometimes it writes better code than you can, other times not. Sometimes you may inadvertently use a function in SAS that oracle doesn't recognize, so the entire table is pulled to SAS for analysis.
As was mentioned earlier, your mileage may vary.