We performed nonlinear waveform inversion for source depth, time function, and mechanism, by modeling direct P and S waves and corresponding surface reflections at teleseismic distances. This technique was applied to moderate size events, and so we make use of short period or broadband records, and utilize SV waveforms in addition to P and SH. For the inversion we used a direct search method called the neighborhood algorithm (NA), which requires just two control parameters to guide the search in a conceptually simple manner, and is based on the rank of a user-defined misfit measure. We use a simple generalized ray scheme to calculate synthetic seismograms for comparison with observations, and show that the use of a derivative-free method such as the NA allows us to easily substitute more complex synthetics if necessary. The source mechanism is represented in two different ways; the superposition of a double-couple component with an isotropic component, and a general moment tensor with six independent components. Good results are obtained with both synthetic input data and real data. We achieve good depth resolution and obtain useful constraints on the source-time function and source mechanism, including an isotropic component estimate. Such estimates provide important discriminants between man-made events and earthquakes. We illustrate inversion with real data using two earthquakes, and in both cases the source parameter estimates compare well with the corresponding centroid moment tensor solutions. We also apply our technique to a known nuclear explosion and obtain a very shallow depth estimate and a large isotropic component.