Counterfactual theories of causation are accounts of causation which understand the cause-effect relation to reduce to "If the cause didn't exist, the effect would not exist." They go in and out of fashion, and of course, they can vary quite widely depending on the account of counterfactual conditionals you give. A common version in recent times has been:
"A causes B" when and only when either there are no possible worlds with A or else some possible world with A that includes B is 'closer to the actual world' than any world with A that does not include B.
It's well known that counterfactual theories struggle with certain causal situations, but what I would like to suggest is that they cannot handle the right kinds of causal situations at all. Counterfactuals arise in causal situations not due to efficient causes but due to material causes, and therefore properly speaking these 'causal counterfactuals' are only relevant at all when we are talking about (a) material causes; (b) formal causes relative to material causes; (c) efficient causes in precisely the respect in which they either dispose material causes for formal causes or provide the formal causes to material causes; or (d) when we are just using a material-cause metaphor to talk about other kinds of causal dependencies.
Counterfactual conditionals work very well for material causes. If we are talking about a wooden statue, for instance, "If the wood had not been, the wooden statue would not have been", is a good model, at least, for "Wood is the material cause of the wooden statue." We could even interpret that, if we wished, by saying that a possible world with the wood and its wooden statue is 'closer' to the actual world than any world that has the wood and not the wooden statue. It would be incorrect to say that the counterfactual captures the material causation itself, but it does correctly capture the dependency involved in material causation, in part because material causes are potential to different forms but necessary for material composites, and therefore it is natural to talk about them as being able to be otherwise and also about what would have to follow (or not) if they were.
People often run into difficulties in applying counterfactual theories to certain kinds of preemption cases. For instance, if two people, X and Y, throw rocks at a window, and X's rock arrives first, so that there is no window left when Y's rock arrives, we recognize that X's rock caused the window to shatter. Yet even if X had not thrown a rock, the window still would have shattered, because Y's rock would have shattered. But it's easy to see why; X's rock is identified as the cause because it is what actually gives the window the distortions of shape that are the change that completes in the window being shattered. If it had not been, then insofar as this affected the material of the window, the effect would not have been. If X's rock had missed, then the same could have been said of Y's rock.
If, however, there are efficient causes whose effects are not necessarily connected with material causes in changes or compositions, then there's no particular reason to think that a counterfactual conditional could adequately account for them. That is to say, if there are forms of efficient causation that are not either creation ex nihilo of material composites or moving causation of changes (the former makes material causes exist at all and the latter disposes or informs material causes), it doesn't seem there could be anything in them that would be adequately captured by a counterfactual conditional. This is not to say that you couldn't use counterfactual conditionals to talk about them, but in such cases, the counterfactual conditional would obviously be incidental rather than anything the causation actually reduces to (I think this is obviously the case with, say, creation ex nihilo of subsisting forms), or else we would be using them as a metaphorical models rather than actual accounts (I think this is obviously the case with certain descriptions of causation of human action).