I spend a lot of time on the water with my kayak and I know this problem all too well - whether I'm paddling or at the beach, my makeup just runs all over my face otherwise. After years of trying different things, I can tell you that a primer alone isn't enough if you're really sweating a lot. The primer helps, sure, but the BB cream itself just has to have the right consistency and staying power.
My absolute favorite solution these days is to use a BB cream with waterproof or sweat-resistant finish - something like Maybelline Fit Me or the one from Essence are pretty solid options. But I actually found it even better to work with something powdery in between. I apply the BB cream, let it set for a minute, and then fix it with a light powder or setting powder. That seriously lasts me the whole day, even when I'm out and actively sweating. Without the powder it always runs for me, no matter how good the cream is.
One more thing I think is important: check out your skin prep. If your skin is too oily, the BB cream will run faster. Especially in summer, I use a mattifying toner or a light moisturizer so the base stays stable. Then honestly almost any decent BB cream will hold better than you might think.