Somtimes you can avoid them, often not. For instance some transformations can directly output to the target table, then avoiding the Table Loader. By using user written code you can also control processing more, but I don't recommend that kind of Process design, because it will undermine the benefits of what the tool is meant to do.
But I'm not that you have worry too much about performance. Most transformations allow you to define the output tables as views, and having sufficient memory will allow the steps to be performed without costly disk I/O. If you have some crucial steps where performance is a real concern, you can override the default generated in those specific situations.
Regards,
Linus
Data never sleeps