This example pulls together various examples of work with trees in D3.js. See the d3js Tree Visualizer live here.
The panning functionality can certainly be improved in my opinion and I would be thrilled to see better solutions contributed.
One can do all manner of housekeeping or server related calls on the drop event to manage a remote tree dataset for example.
Panning can either be done by dragging an empty part of the SVG around or dragging a node towards an edge.