The official documentation also states:
The use of SELECT to access an internal table is usually less efficient than the statements for internal tables and should only be used in cases not covered by these statements.
Therefore it only makes sense to use SELECT for internal tables if you use specific functions which SELECT provides and READ TABLE/LOOP AT do not.
In the case of functions like SUM, MAX, ... it might be worth testing whether SELECT + inbuilt function or LOOP + coding performs better, probably it is a case of "it depends".