I too have found this to be challenging. I live in the Raleigh/Durham NC (USA) area and needed to find a IP lawyer focused on software licensing. I started by googling but that wasn't very helpful.
Then I asked a friend who is a lawyer for recommendations figuring that other lawyers might know which lawyers in the area are good a which specialties. He gave me three names in ranked order.
Then being an entrepreneur, I asked around in entrepreneurial circles to see who other startups had used for doing software license work. The same name kept coming up over and over, and that name was the #1 recommendation from my lawyer friend.
Another thing I learned along the way is that it's not good enough to find the right firm, you need to find the right person at the firm. Lawyers vary greatly in their experience (just like all of us) so a lawyer might be outstanding at one aspect of law (say M&A transactions) but may have had very little exposure to other aspects of law (e.g. software licensing agreements). So finding the right person is key.
Just in case it's helpful, here is the link to the lawyer I'm using for software license agreements: http://morningstarlawgroup.com/author/rwhitmeyer/
Randy has an undergraduate degree is in Computer Science from Duke University and he has over 25 years experience as a tech/IP attorney. If you choose him you will likely be very happy. (I'm not related to Randy in any way and receive no compensation for this endorsement. However I am thankful to have had his help)