A copacetic end is always achievable by moral means. Indeed, moral means always end and are the only means that can end copacetically. The problem is that we don't really know what copacetic looks like AND we tend to look at the very short term. So it is the exchange of the immoral seemingly copacetic short-term for the moral truly-copacetic long-term that becomes difficult to envision and execute.
While taking his point, I think it's important that we are careful not to dehumanize moral reasoning.* By that I mean this:
As human beings, we are temporal and carnal beings; we have bodies and we exist moment to moment in time. Everything we do as humans, we do for some end. St. Thomas even insists that every end we seek, even to tell a funny joke, is ordained to the last end, our "consummate good."
It's certainly true that this last end, our consummate good, is a copacetic end always achievable by moral means. But the last end is not the only end; "there is an accidental infinity of ends, and of things ordained to the end." These ends are no less genuine ends for being accidental, or for being ordained to the one last end.
To deny that humans necessarily act for these accidental ends -- to deny, in other words, that the way humans achieve our last end is through achieving a lifetime's sequence of secondary ends -- is, I say, to dehumanize morality. It's to insist that humans act in a way humans don't, and even can't, act.
So we can't say, for example, that to be murdered isn't lousy if the victim goes to heaven. "She is murdered" is not a last end, but it is still an end a human being can work to achieve or to avoid. More strongly, it's just the sort of end that indicates what kind of last end we're ordering our lives toward. And it is, really and truly, a lousy end that sometimes can't be avoided by moral means.
*. As anyone who has ever read his blog should know, I don't mean to suggest that Steven is dehumanizing anything, just that we need to be careful when speaking of "short-term" and "long-term" ends.