Um lugar onde eu uso consistentemente 'this' são setters e ou construtores:
public void setFoo(String foo) {
this.foo = foo;
}
Além disso, não acho necessário adicioná-lo.
Ao ler o corpo de um método, os parâmetros e os locais estão bem ali - e bastante fáceis de acompanhar (mesmo sem a ajuda do IDE). Também locais e campos tendem a ser de natureza diferente (estado do objeto vs armazenamento ou parâmetro transitório).
Se houver alguma confusão sobre o que é uma variável e o que é um campo, isso provavelmente significa que um método tem muitas variáveis / parâmetros, é muito longo e complexo demais e deve ser simplificado.
Se você optar por usar 'this' para marcar campos, recomendo que a convenção seja sempre rigorosamente seguida. Seria muito fácil começar assumindo que 'isso' significa que é um material local e de interrupção baseado no suposição.
edit: Eu também acabo usando isso em equals, clone ou qualquer coisa que tenha um parâmetro 'that' do mesmo tipo de objeto:
public boolean isSame(MyClass that) {
return this.uuid().equals(that.uuid());
}