Most of the companies with a significant percentage of remote workers also make an effort to bring in the remote workers from out of town in order to give them face time together. For example, I know GitHub does annual gatherings where the point is to not necessarily work, but to hang out and socialize with each other.
From my perspective, this is probably the most effective team building there is. Not forcing people to get along, but bringing them together in a central place and letting them have fun in a relaxed atmosphere.