I'm comfortable with HASL (leaded or lead-free) for larger, leaded components (like SOICs and SOTs), but I wouldn't recommend it for flat blocky components, like DFNs, QFNs and LGAs. The tinned surface is bumpy, and parts won't sit flat. Maybe the paste will pull everything together still, but maybe not. The amount of solder on pads is also highly variable. An excess of solder will tend to reduce the amount of paste applied, but not proportionally (paste has lower density than solid, so you still end up with an excess).
The absolute go-to is ENIG. And it's so standard these days, it's little added cost, even at cheap fabs. Unlimited shelf life.
I've seen tin and silver plate, but these tarnish and become unsolderable in storage, so that's bad. They're fine if you don't need shelf life (PCBs get assembled immediately).
There's also OSP (organic surface preservative), which prevents bare copper from tarnishing, while being solderable. Shelf life is reasonable (a year I think?). I haven't seen it much in design and manufacture, but I've seen products made with it (e.g.
http://seventransistorlabs.com/Images/8510W_1.jpg the orange blocks are tant caps; the orange rings are now-aged, OSP'd copper pads!).
Tim