It really depends on your specific application and flow regime. I would suggest you to start from LBM as it is generally faster compared with the others.
I consider that it depends on the scale of your issue if it was small, e.g., um, maybe it is better to use LBM. BTW, for low Re number conditions problems, LBM also has a good performance.
It depends on the system that you want to simulate. LBM is good at handling boundaries with complex geometries but not a great choice for problems with free surfaces. For instance, special treatments are required when dealing with large-density ratio situations. On the other hand, the pressure from classical SPH and MPM can be very noisy. In terms of efficiency, LBM>MPM>SPH in general.
It's always difficult to classify the accuracy of different models on a wide class of physical problems.
Simulating porous media with LBM is possible either at pore-scale (main advantage consisiting on the ease in representing complex geometries in "lego-like" fashion) or at REV ones by just incorporating a Darcy like force in the collision operator. Multiphase LBM are now quite reliable, but when multiple species are involved the solver efficiency has to be considered, since LBM will require a specific set of distribution for each component. The main disadvantage of LBM can than be its performance if the code is not optimized.