1 Problemas de inferência com lambdas encadeados
Method reference funciona sem problemas:

usuarios.sort(Comparator.comparingInt(Usuario::getPontos)
.thenComparing(Usuario::getNome));

Lambda equivalente pode não compilar:

usuarios.sort(Comparator.comparingInt(u -> u.getPontos())
.thenComparing(u -> u.getNome())); // Não compila

2 Soluções para compilar lambdas encadeados

Explicitando o tipo no lambda:

usuarios.sort(Comparator.comparingInt((Usuario u) -> u.getPontos())
.thenComparing(u -> u.getNome()));

Quebrando o encadeamento:

Comparator comparator = Comparator.comparing(u -> u.getPontos());
usuarios.sort(comparator.thenComparing(u -> u.getNome()));

Forçando tipo genérico do método:

usuarios.sort(Comparator.comparingInt(u -> u.getPontos())
.thenComparing(u -> u.getNome()));

3 Preferência por method reference
Method reference (Usuario::getPontos) facilita a inferência dos tipos.

Usado principalmente em interfaces fluentes como Comparator.reversed().

Exemplo: método reversed()

usuarios.sort(Comparator.comparingInt(Usuario::getPontos).reversed());

Lambda precisa de tipo explícito:

usuarios.sort(Comparator.comparingInt((Usuario u) -> u.getPontos()).reversed());

Exemplo: ExemploInferenciaEncadeamento.java