Almost certainly, as a person, Joyce knew Buffy better than any of the ones mentioned. She has, obviously, known Buffy longer and a much more personal way than any of those who you named.
As to who knows best just what being a Slayer means, obviously Faith would be the most logical choice.
As far as knowing the pain and conflict that Buffy has suffered, quite possibly Spike, since he has experienced quite similar things himself, plus has been arguably Buffy's closest confidante during her time of greatest suffering.
Willow is probably the one who knows and can sympathize the most what it's like to be "different" from all of the people around her and never quite having a true equal to share her problems with.
Giles and Angel almost certainly believe that they know Buffy better than anyone else, and most importantly what is "best" for Buffy, though they have both proven, not just once, but several times, that their knowledge is based more on what they THINK Buffy is, or should be, like than what she really is.
Dawn just plain doesn't have a clue.
No single person knows the total Buffy. Some know particular aspects of her personality and some others only believe hat they know her. In truth, Buffy Summers, the Vampire Slayer, has more facets than a finely cut diamond, and no one, not friend, family, or lover, will ever know all of her.
Except, of course, me.