スーパークラスとサブクラスのどちらも使用可能な状況では、
スーパークラスを使用するのがセオリーと思う。
java.sql.Dateとjava.util.Dateのどちらを使うか考えてみれば感覚的にわかるかも。
もちろんインタフェースがある場合はインタフェースを使うし。