String型からDate型の変換は、基本は次のように出来ることはわかります

String dateStr = "20140101 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
Date formatDate = sdf.parse(dateStr);

これは、Date型に変えたい文字列の型が1つに定まっているからできる事だと思います。
取得するStringの日付形式が複数ある場合にはどのように処理するのでしょうか?

これが数種類であると確定しているなら、その種類に併せて分岐させればよいと思います。
が、複数ある場合に日付フォーマットとして一般的なものであれば、放り込めばDate型に変換してくれる関数のようなものはないのでしょうか?

例えば以下のような日付をString型で取得します。

2016-01-08T15:35:42Z
2016-01-03T13:18:06.483+09:00
Sat, 31 Oct 2015 13:33:51 +0000