Some people argue a difference between /magar/ and /lekin/ although I don't see it. They are both from Persian and /lekin/ is actually short for the Persian /valekin/. They are both equally common in my view.
/par/ comes from /parantu/ and in my opinion is very highly used. It is also used in Panjabi (we don't use the other ones). My family also says /parantu/ and /kintu/ from time to time, perhaps in jest.
So in short, I think they are all the same, but I'd use personally /par/, /magar/, or /lekin/.
I didn't know /parantu/ was Hindi too! I thought it was very much Gujarati word. I myself never use it in Hindi/Urdu. I always use /lekin/
/paN/ and /parantu/ are two different words in Gujarati. paN (પણ) just means "but" whereas /parantu/ (પરંતુ) is a more formal word meaning "however". I would never use /parantu/ at home - it's just not a word used in Bharuchi Gujarati. My friends (Bharuchi-Gujarati speaking) wouldn't have a clue what it meant if I asked them!
I would say that the difference between /lekin/ and /magar/ is like the difference between "but" and "however".
Starting with my most recent Urdu grammar, the excellent Urdu: An Essential Grammar (Routledge, 1999) has an example which clearly makes no difference between lekin and par. (I suppose that parantu will sound as more Sanskritized Hindi.)
Same absence of a difference in Phillot: Hindustani Manual (Calcutta 1918).
Finally: Platts: A Grammar of the Hindustani Language (New Delhi  1990) gives, among others, the adversative conunctions par 'but, lekin 'but', 'yet' and the one that I was looking for, balki 'but rather', 'on the contrary'.