The max obj exporter has an option to export all faces as triangles, which is what I use. Other than that, I'm using basic box modelling techniques, extruding edges and faces and moving vertices around. I'm not paying any particular attention to grid:
There are currently a few collision problems (and a few missing faces) but I suspect that is because the map is currently unsealed, so the backs of the spike brushes are still being compiled which I'm sure is causing problems with QBSP.
Once the map is sealed, those problems should hopefully go away, at least mostly, although that really will be the make or break test: if faces are still missing and collision is too broken with a sealed map, we'll know that this method doesn't work. :P