Für dein Code-Beispiel ist der Umweg über Instant nur etwas umständlicher geschrieben, machen tut es das selbe.
Die java.time.* Klassen sollen die alten KLassen (java.util.Date, java.util.Time*, java.util.Calendar*) ablösen und deren Nachteile beseitigen. Die neue API ist (laut Dokumentation) thread-save was die alten Klassen zum teil nicht sind. Außerdem soll die neue API intuitiver zu verwenden (und damit weniger Fehleranfällig) sein, ob das stimmt kann ich noch nicht beurteilen.
Date.from(Instant), und noch ein bisschen mehr, wurde geschaffen um die Kompatibilität der neuen time-API zu legacy code zu gewährleisten. Hier steht noch ein bisschen was dazu.