In all my years of homeschooling, I have been searching for the best grammar text. I wanted to be able to teach it once (like you might Algebra or Biology) and not little bits and pieces over the whole career of the student. However, any upper level grammar assumed that the student had been underlining nouns and verbs since 2nd grade. (My apologies to my older children who left my home un-intiated in the intricacies of verbals!) When I went back to the younger versions of a text, the content was juvenile enough to be a roadblock for learning. ("Mom, this is baby stuff!")
I think I've hit on a solution. I purchased 2 books at Barnes and Noble that seem to be working. Both books are by Barron's Publishing and are meant for GRE study and English as a Second Language resources. English: The Easy Way and Grammar: The Easy Way teach everything my children need to know in order to write correctly. They're written for older learners, so the sentences don't offend their burgeoning maturity.
Another solution to the "grammar problem" has been to teach Latin. This has been our foreign language of choice; it must have been a good decision since 2 of my children have majored in Classics in college while another is a Latin tutor at her college and the 4th will be trying to test out of a level or two. I'm teaching it at an entry level to my middle and high school children, and the amount of grammar they are learning (and truly understanding) is marvelous. The resource, English Grammar for Students of Latin (Norma Goldman and Ladislas Szymanski) is a wonderful book for unraveling both English and Latin grammar.
Whew, after all these years, it's great to find something that works well and that satisfies me as a teacher and as a mom.