Esa sería la forma estadar de hacerlo. No tiene defectos formales, pero si tienes las tablas muy cargadas, no es la más optimizada.
Ese sería el caso de:
El uso de la coma aparece en los manuales, pero cuando pones la condición en el WHERE obligas a MySQL a leer todas las tablas, completas, para recién allí hacer la selección.
INNER JOIN, en cambio, va descartando lo que no coincide a medida que lee las tablas. No requiere una neuva selección, ni lee todo.
Por otro lado, ese GROUP BY es peligroso, porque en esas devolverá la primera aparición de cada album, sin importarle las repeticiones de titulos que existan. Simpemente devolvera un único registro por cada id_album que encuentre. Eso puede no ser lo que quieres. En tu caso, ese GROUP BY es superfluo, porque el DISTINCT ya evitará repeticiones.
Además, tengo la impresión de que estás confundiendo el GROUP BY con el ORDER BY...
¿Lo que quieres es que aquellos registros del mismo id_album aparezcan juntos?
Eso es ORDER BY, no GROUP BY