Solver-o-matic
Decision Tree for Nonsmooth Optimization Software
Your first choice should be Proximal Bundle Method (MPBNGC) by M.M. Mäkelä (you need to code difference approximations by yourself). MPBNGC usually uses relatively small amount of iterations and, thus, it should be an efficient choice also with difference approximations. The code includes the constraint handling (bound constraints, linear constraints, and nonlinear/nonsmooth constraints). MPBNGC can also be used via WWW-NIMBUS -system.
For other choices, see e.g.