They are like all populations - a mixed bag. Some are excellent, some appear to hate customers. I guess that most are perfectly OK for the job.
Like all organisations, the immediate "feel" of the place is important - if the pilots go out of their way to try to create a positive environment, and if the onboard Supervisors are any good, then service should be good.
If BA want a premium price, they must have a premium crew.
Whilst performance management of crew is notoriously difficult, BA need to try harder to manage out of BA those that are not giving the high standards that customers pay for.