Vibration doesn't matter much to an SMT part, if it's rigidly mounted. The problem is more to do with flex of the board (especially if poorly mounted), and repetitive and poorly limited stresses, like on connectors, causing fatigue.
THT with long leads, is able to take up the stress in its body mounting, while the resulting strain is dropped along the flexible leads.
As long as I'm using the technical terms here; stress is the pressure (force per area) within a body, and strain is the resulting elastic deformation (stretching, bending). Fatigue, is the repetitive stress of a body, which generally causes hardening and cracking to accumulate, until the body eventually fails.
Or, THT with short stubby leads, which grab the board very rigidly, transmitting stress into the board and its mounts, keeping strain away from its solder joints.
The most vulnerable mechanical interfaces are solder joints, pad adhesion, and brittle ceramic chips. You want to keep both stress and strain away from these locations if possible.
And: pad adhesion is copper foil to laminate strength. Shear strength is surprisingly good, tensile is okay, peeling is awful.
Pulling on a soldered SMT pin, you'll usually pull the pin off the pad, rather than the pad off the board. At least, with softer SnPb solder, that's been my experience. But bending on an SMT pin, generating a peeling sort of force: that'll rip pads straight off the board, easy.
Ceramic chips are vulnerable for two reasons: one, the ceramic itself is brittle and cracks; two, the metallization on the ceramic may not be as strong, and that cracks/peels/tears off. Resistors are usually made on strong alumina ceramic, so are more prone to metallization or solder or pad failure. Capacitors are made from a mechanically inferior ceramic; its only purpose is to have a huge dielectric constant -- it's a fairly soft material otherwise. So, ceramic chip caps tend to crack, and board flex delivers that strain with extra leverage.
So, putting all that together:
- Avoid SMT connectors where a lot of strain is expected. SMT connectors are bad for external connections, and usually okay for internal connections. Internal connections may not be very reliable if there's a lot of vibration (>= 1G shock and vibe?). Cable restraints and glue can help.
- Avoid putting peeling forces on pads. Avoiding SMT connectors, or some types of them anyway, basically covers this.
- Avoid fatigue on solder joints. THT does this by surrounding the pin with a near-sized hole, and filling the remaining (modest size) gap with solder. ("Cold solder joint" failures are very common on single-layer, unplated boards where a tiny solder fillet is all that's holding the pin down, but uncommon on multilayer, PTH (plated thru-holes) boards.)
- Don't put ceramic parts, especially capacitors, in board areas with high strains. Also, if you must, try to align them perpendicular against the strain, so the strain acts against the width of the part, not its length (this puts less strain on the part, and gives less leverage from the board to the part -- it's the part's "stiff", "thick" direction).
- And if you must (or even if you don't have to, but you still need high reliability), consider using capacitors that mitigate these problems. There are types which fail safe (open) by keeping electrodes away from the ends (where cracks are most common), or with multiple internal sections so that a single crack doesn't cause a short, or with different end-metallization that can take up some strain, or at least is weaker than the ceramic itself so the plating acts sacrificially. ("Flex terminations" are usually a conductive epoxy underlayer, as far as I know; this has the teeniest bit of stretch, or it can peel away without ruining the component.)
- Do place mounting points near sources of stress (like connectors, and heavy components). This keeps the strain low, by drawing the stress away nearby.
- Conversely (or, perhaps seemingly contradictory), when the mounting points themselves tend to be sources of strain, keep some distance between them. Example: you don't usually want to place screw mounts right beside a panel-mount connector, because that transmits panel deflection/vibration right into the board, and heavily stresses it. You're better off keeping some distance between things -- treating the connector itself as a mounting point as such -- and dealing with the resulting (moderate) strain in the board around it.
- Pay attention to order of assembly: you don't want to torque down a connector and then discover that, because it wasn't quite aligned in its hole, now all the screws are out of alignment, and forcing them in will do all kinds of nasty to the board. Place screws and connectors loosely, then tighten them down in sequence. This is especially helpful for components mounted to heatsinks: insert them into the board, but don't solder; assemble with the heatsink, using the board to align the components on the heatsink. Then tighten them down, and solder everything in.
- Also consider potting, so the board is supported all around by something. Preferably, something not itself rigid, but rubbery. You don't usually do this unless you need the environmental tolerance, but it definitely helps mechanically. A compromise might be filling the space beneath the board with potting, so it's secured, but components are still sticking out the top because you don't care about environmental.
Tim