Are all the three sentences fine? Any difference between them?
1. We are best friends. I agree with Tdol's definition. We are each other's best friend.
2. We are the best friends. (said with the proper stress)
I think this sentece is okay, and to me it means that 'We are the best friends two people can be.' (= No other two people are better friends to each other than we are.) So it is an exaggerated way of saying what extremely good friends we are.
3. We are the best of friends. Although this sentence is probably more commonly said than #2, I think its meaning is harder to analyze. On one hand, its meaning can be similar to that of #2, and on the other hand, it's meaning can be similar to #1. (= Of all the friends each of us has, we are each other's best friend.)
Practically, it is used to say that we are (very)(extremely) good friends/best friends.
I don't agree that #3 just means "We have a good friendship."; to me, it is a stronger statement than that.
To me, "We have a good frienship." just means that we are good friends.
As I have disagreed with Tdol and have had trouble trying to explain what I think they mean, probably #2 and #3 are too imprecise/subjective. Probably it is better to say things like...
We are very good friends.
We are extremely good friends.
(He)(She) is the best friend I ever had. (although he/she may still be less than an excellent friend)
I hope I added more light than smoke.