Since you seem to already be using YASnippet it might be better to implement this via YASnippet instead of via AUCTeX.
Here is an example of such a snippet:
# -*- mode: snippet -*-
# name: cleveref \cref
# key: rf
# --
\cref{${1:label$(unless yas/modified-p (reftex-reference nil 'dont-insert))}}$0
Using this you write "rf" and when you expand it (default is to expand with Tab) RefTeX will ask you for what label to refer to and insert that label as an argument of \cref
.
One of the benefits of using YASnippets is that you can have more than one alternative for the same key. For example if you use the above snippet you may also want to use the following for the cases where the cross-reference starts a sentence:
# -*- mode: snippet -*-
# name: cleveref \Cref
# key: crf
# --
\Cref{${1:label$(unless yas/modified-p (reftex-reference nil 'dont-insert))}}$0
Now when you write "rf" and expand it you get to choose whether you want it to expand to \cref
or \Cref
:

For more cross-reference snippets see https://github.com/Sleft/yasnippet-latex-mode/tree/master/cross-reference.