So full disclosure, I'm not really a fan of rolling dice for character creation. Never was, even playing through 2nd and 3.x as a kid. I prefer point buy. With my recent foray into OSR gaming, I really gave it a try with ACKS and other systems, but ultimately, it's not my cop of tea. That's a post for another day. So I was brainstorming a way to combine point array and dice rolling. Kind of a compromise. This was actually done for a project I'm working on.
For the three stats, you have six numbers you can plug in. 2, 3, 4, 4, 5, and 6. Put those in any of the stats you have. Once all six numbers are in each of the six stats, you can then roll 3d6, drop the lowest and add the number. That's your stat now. So, if I have a 4 in STR, and I roll a 4, 2, and 5, then I'd replace the 2 with a 4 and have a STR 13.
For the rolling, you could do it a number of ways. You can have them roll it first, then assign it later. That tends to make more powerful characters. You could have them choose the stat, roll it, and keep it. You could also do something in between and let them switch two values. It's up to you. Doing practice rolls this seems to work pretty well. I tend to notice average characters with one or two really good stats, mostly average stats, and one bad stat.