Native speaker here... You are right. It is quite formal as compared to the english "thanks". Having said that, it is used in casual conversations and when you want to thank someone.
Eg. A friend makes you coffee in the morning. You will thank them. You can say shukriya or dhanyawad
But If someone passes you the salt on the table, you are less likely to say dhanhawad.
शुक्रिया (shukriya) would be more common than dhanyawad in this situation. Or at least it is so in my personal experience. Also, as someone has pointed out, English has replaced a lot of Hindi phrases and saying thank you or thanks is perfectly acceptable and understood by the general population