I think you're correct that Oracle will do a quicker job in clipping the data, because then the data will be (presumably) indexed. FME is working on the basic xyz files that are un-indexed. So naturally it will be slower.
If the data is unchanging then you could convert it from xyz to a spatially indexed format that FME could use - for example POD - and the speed would be drastically improved. But still, indexed data stored in Oracle and being processed by Oracle should always have the better performance.
As to FME methodology, I wouldn't necessarily agree with saying it would be more straightforward with Oracle. I just don't see why your FME solution should be so complex (unless there are other details I don't know about).
The ideal solution is a single workspace with a reader to read the Shape dataset. You feed that into a FeatureReader to read the xyz, using the Shape feature as a clip boundary. Then you write the data out with a writer. It should be very simple. I certainly don't see a need to have two linked FME workspaces.
One other FME tip. Be sure to use the XYZ format reader. That way FME will create a single, efficient point-cloud feature. If you use the CSV format and a transformer to convert it to points, then you'll be working with 300m individual point features and the process will be much, much slower.