I asked some native German speakers about it, they answered:
(1): Das ist fast gleich
(2): Wenn jemand eine nette Rede hält, sage ich: vielen Dank,
Wenn jemand etwas Gutes für mich macht sage ich: danke schön
Aber das ist eigentlich alles gleich
(3): Als Deutscher ist beides für mich gleich
So there isn’t a situation where one is more appropriate than the other, it’s a matter of taste.
Just like English, people don’t say “thanks a lot” as much as “thanks” or “thank you” and “thank you” is more formal. I’d say “vielen Dank” is like “thanks a lot”, as someone else said:
Für mich ist vielen Dank noch höflicher als nur danke schön
Außerdem würde ich in einer offiziellen email nur vielen Dank und nicht danke schön" schreiben.
Dankeschön is less formal than vielen Dank and is widely used among friends and families in Germany.
It depends on social class of the person somehow. As I found out, educated people distinguish between them but normal people do not.