We study the impact of optimizing side-chain positions in the interface region between two proteins during the process of binding. Mathematically, the problem is similar to side-chain prediction, extensively explored in the process of protein structure prediction. The protein-protein docking application, however, has a number of characteristics that necessitate different algorithmic and implementation choices. In this work, we implement a distributed approximate algorithm that can be implemented on multi-processor architectures and enables trading off accuracy with running speed. We report computational results on benchmarks of enzyme-inhibitor and other types of complexes, establishing that the side-chain flexibility our algorithm introduces substantially improves the performance of docking protocols. Further, we establish that the inclusion of unbound side-chain conformers in the side-chain positioning problem is critical in these performance improvements.