I don't see a problem that needs addressing. As far as I can tell, the spam handling system works well.
As you say, the right way to handle spam is to flag it as such. In my experience, the mods handle it quite quickly. I'm not sure we're big enough yet for enough spam flags to accumulate to cause automatic deletion before a mod sees a flag and handles it directly.
Most spam I've seen has been answers, not question. Voting to close therefore doesn't apply. However, you can still downvote. That will make the score negative, which then allows you to vote to delete. This is what I usually do with answer that should be deleted, whether spam or something else. Perhaps that's overkill, but I don't see how that hurts. After all, I do feel the answer should be deleted, which is what the delete vote mechanism is for.
As to not flagging because a mod might decline the flag, that's just silly. First most spam is blantantly obvious. As long as you don't consistently raise flags others disagree with, there won't be any problems. For example, I just checked, and I have raised 8 spam flags, and one was declined. In total I've raised 205 flags, of which 7 were declined and 3 disputed. No harm has come to me, and I certainly don't feel the mods are taking my flags less seriously due to a few disagreements of opinion.
If you see spam, flag it!