In my language these expressions are quite similar in meaning and I can't really make a difference between them only by checking a dictionary. Can you please provide some example sentences? Thank you in advance!
A fair weather friend is a matter of interpersonal relations. A fair weather friend is person who doesn't support you when you need help:
When I lost my job, Mary was always helpful. She listened to me, and even let me stay in her flat for a while. She wasn't a "fair weather friend".
Being a fair-weather friend is always negative.
The vicar of Bray is an allusion to a song. Not many people will know the reference so, most people will not understand the allusion. In the song, the vicar moves twice between Catholicism and Protestantism, as the Monarch in the UK changed during the Tudor Period.
It can have a positive or negative meaning, the positive sense is of someone who doesn't let high politics get in the way of doing their job. The negative meaning is of someone who lacks principles. The allusion would always be to the relationship between a person and his seniors. A Vicar or Bray type would be someone who is willing to bend to whatever his boss required, if it meant keeping his job. It does not apply to an equal relationship between friends.
I've heard people talk about "fair weather friends". I don't think I've ever heard anyone described as being like the Vicar of Bray, though the song and the idea is vaguely familiar.