I've never evicted for anything other than non payment of rent (which unfortunately Ive done a dozen or so times). I wouldn't say NJ is "tenant friendly"....if they don't pay their rent they are out. They start every landlord tenant court session with a speech that it doesn't matter what kind of sob story you have....if you don't have your rent money, you will be evicted. You said she pays on time, so that doesn't seem like an option. I could see evicting for other violations might be tough.
I wouldn't do cash for keys unless your lawyer says it would work. I'd be leery of the legal ramifications if she takes your money then changes her mind.
The benefit of month to month is you can raise her rent. I would check if your town has rent control, and raise it as much as you can. If they don't have rent control, NJ law lets you raise it a "reasonable amount"...If you raise it and they don't pay the increase you can charge a late fee if your lease dictates. If you have a strong lease, rent includes; late fees, certain repairs etc. If she doesn't pay any of those things, then you have a non payment of rent case.