Generally, though, a single SQL statement will perform better, but it's usually because the programmers use temp tables not as an optimization trick - rather it's a way to break the problem up into smaller and more easily to manipulate chunks. So, yes, if you can state the problem in a more concise single statement, you'll usually have much better throughput.

I don't think the one-big-statement approach is necessarily more "concise". It is generally just naming a chunk(s) and referencing the name instead of embedding that chunk within a statement. It might take a few more characters, but not much. In some cases it may shrink the total size because there may be less need for table qualifiers on columns because the name pool for tables is smaller if you divide.