So eine Frage kann man meiner Meinung nach nicht pauschal beantworten.
Scanner arbeitet Tokenbasiert. So man das möchte, könnte man Scanner gut nutzen.
BufferedReader ist ein Reader und recht universell einsetzbar. Daher würde ich in der Regel zu BufferedReader (oder anderen Reader Klassen) greifen.