We describe a new implementation of a single scatter simulation (SSS) algorithm for the prediction and correction of scatter in 3D PET. In this implementation, out of field of view (FoV) scatter and activity, side shields and oblique tilts are explicitly modelled. Comparison of SSS predictions with Monte Carlo simulations and experimental data from uniform, line and cold-bar phantoms showed that the code is accurate for uniform as well as asymmetric objects and can model different energy resolution crystals and low level discriminator (LLD) settings. Absolute quantitation studies show that for most applications, the code provides a better scatter estimate than the tail-fitting scatter correction method currently in use at our institution. Several parameters such as the density of scatter points, the number of scatter distribution sampling points and the axial extent of the FoV were optimized to minimize execution time, with particular emphasis on patient studies. Development and optimization were carried out in the case of GSO-based scanners, which enjoy relatively good energy resolution. SSS estimates for scanners with lower energy resolution may result in different agreement, especially because of a higher fraction of multiple scatter events. The algorithm was applied to a brain phantom as well as to clinical whole-body studies. It proved robust in the case of large patients, where the scatter fraction increases. The execution time, inclusive of interpolation, is typically under 5 min for a whole-body study (axial FoV: 81 cm) of a 100 kg patient.