It makes no performance difference if you reference a defined buffer or directly use the table name (that just results in the use of a "default buffer").
The use of temp-tables depends entirely on how you go about it. There will be overhead in "marshalling" records into the temp-table originally but there may be sufficient processing advantage to offset that. But there is no one size fits all "which is faster" answer.