The best way is rasterization using a DDA, because it will be several times faster than any triangle-in-box test. Rasterization is a scattering techqiues, so it only touches the voxels that are on the triangle surface. Box-tests are gathering techniques, so they require that every voxel check which triangles touch it. The former (scattering) is O(n^2) while the latter, gathering, is O(n^3).
For a good CPU comparison of the two, see:
https://github.com/ramakarl/voxelizer
This code demos two gather techniques, Schwarz-Seidel and Akenine-Moller, and one scatter technique, the edge-based 2D DDA.