I have never had issues with the LFG tool. I really hate LFD and LFR however.
LFR, because it shits all over the raid scene and makes it seem extra pointless.
LFD, because it promotes shitty players and bad attitudes. You will never see these people again, so why not be a greedy, self centered, lazy douche dick.
Looking for a community
A good LFG tool should simply list players who are looking for action, give all kinds of pertinent information about them class, spec, dungeons or quests they want to do ect. But more than that it should promote community building by making it as easy as falling down to group with the same people over again. Like automatically generating a list of people you recently grouped with. Allowing people to rate each other after a run. You can give one positive or negative rep point to each player account. People who are greedy, lazy or have shit attitudes will start to stand out. Allowing people to form persistent groups that last for multiple sessions, and creating ways to utilize them.
Automation is of the debil
The players should have to manually choose who they include in their groups. If a player can't figure out that they might need a tank a healer and some Dps to make a good group, they shouldn't be leading a group. There is no need for a program to auto group people based around such basic criteria. Making cross server dungeon groups available sucks from a social standpoint. Unless you break down ever other barrier between servers, it just becomes cumbersome to try and interact with people you grouped with from other servers.
Name Recognition
No matter what method you use to bring players together, this is what causes a sense of community. If everyone is constantly getting jumbled together through a random mixer program, you are never going to see the same name twice. Or if you do, that will be the exception not the rule. If someone manages to perform some amazing shit, or pulls off a clutch victory; that should get recognized, both by players and by the game. We have a bajillion points and rewards system models out there that are supposed to simulate a persons in game reputation; But those alone pale in comparison to the real thing. Stop fracturing communities for the sake of convenience, and make social interaction an integral part of the game again.
No matter how clever the game designers think they are, they need to remember, their games are not nearly as entertaining as the people who play them.