CB Privacy will always allow the profile owner and moderators access the field. Then it checks the viewing user for permission based off the privacy rule selected.
CB Conditional strictly conditions against the profile owner to ensure they meet the supplied criteria. It doesn't care if the user is a moderator.
So with that said it sounds like you want it to display the field if the viewing user has the specified usergroup or view access level or is a moderator. The only way to really do that is to use an IF substitution in a custom value condition using CB Conditional. Example as follows.
Field: Custom > Value
Value: [cb:if user="#me" viewaccesslevel includes "1"]ACCESS[/cb:if]
Operator: Equal To
Value: ACCESS
This would check if the viewing user has the view access level ID of 1 (in this example that's Public) and if they do it outputs ACCESS which is then checked against. I think this could be made easier if CB Conditional could support conditions against the viewing OR displayed user instead of always displayed so have added a feature ticket to look into this for its next feature release.
forge.joomlapolis.com/issues/7003