I think Xfire is perfect, so I've tried to compare the Steam service to Xfire, and what I came up with for improvements:
Streamline the Interface-
With the avatar's turned off, the steam friend list just looks like a mess of text. Add some columns or visual cues to suggest form to the list. With the avatar's on, it takes up too much space, forcing me to scroll endlessly to find friends.
Integration with other Messengers-
I used to use Trillian since it allowed for MSN, AIM, ICQ, IRC, and Yahoo! accounts all to be linked into a single attractive interface. However, I soon found Xfire to be more suited for gaming, since it records you hours, allows you to join other's games with a single click, and tells you what other games people are playing. So, for awhile I used Trillian with Xfire. However, I hate having multiple chat programs open, so when Xfire included AIM integration, I ditched Trillian since the majority of my friends used AIM. If steam would all integration with MSN, AIM, and other popular messengers, it would be a great improvement.
Promote Steam as more than a Gaming Platform-
The biggest problem with Steam in terms of being used as an IM service, is that the majority of people with Steam only have it to play Steam games. That's a very narrow market compared to a regular IM client. If Steam was marketed at a wider audience as something more than a content delivery platform with a built in messenger for convenience, it would attract more people to get the service to use as a messenger, while expanding the Steam userbase with potential future costumers. A GUI overhaul would be required as well as a creative marketing team.
Expand the Messenger's Options-
Another fantastic feature of Xfire is the ability to stream any game that Xfire: In-Game works on. It automatically sets you up with a channel and a webpage to let people watch you play a game. Other features such as the ability to take screenshots and have them automatically uploaded to a webspace is nice, as is the ability to record video and have a webpage open without ever having to alt-tab out of your games, perfect for strat-guides as you play. Features like these with good support could improve the Steam IM client.
Make Voice Chat not Suck-
Both Steam and Xfire offer voice chat through the IM service itself and both of them suck. The quality is terrible, calls drop often, and its generally a pain in the ass to use. My group of friends use Skype for our gaming voice needs. The call quality is fantastic, very rare is a call dropped if ever, and since its a program dedicated for voice chat, it is very intuitive with a range of options for adjusting volume and quality. Make the built-in voice chat for the IM client close to Skype quality, and it would eliminate the need for a 3rd party program like Skype, or Ventrillo, or TeamSpeak, and make me happy.