The right direction is what ever works best for your use case.
The weight difference for discrete surfaces is going to be 1-2 extra servos over the flaperons (so if your really light, it might not work as well), however the surfaces are all smaller, so in some cases you might be able to use smaller sized servos, so that you don't end up adding much, if any weight.
The more distinct surfaces, the more control channels that are needed, so that is the other consideration.
Flight wise, I believe separate surfaces would be better as if you get close to a stall, your wing tips (ailerons) are not being used for the extra lift, which means they should be less close to a stall, meaning you would be less likely to end up dropping a wingtip if the wing stalls.