For a key keya defined by
\define@key{fam}{keya}[\def\y#1{#1}]{\def\x##1{##1x#1}}
the keyval package uses
\def\KV@def#1#2[#3]#4{%
\begingroup\toks@{#3}%
\xdef\@gtempa{\expandafter\noexpand\csname KV@#1@#2\endcsname{\the\toks@}}%
\endgroup
\expandafter\let\csname KV@#1@#2@default\endcsname\@gtempa
\expandafter\def\csname KV@#1@#2\endcsname##1{#4}%
}
to define the default value as
\KV@fam@keya@default{\KV@fam@keya{defau}}
This style of defining the default value is called the standard format by the xkeyval package. Packages such fancyvrb don't adhere to this standard. The xkeyval package says that such packages abuse the default-value format.
I have always wondered why the keyval package chose to define the default value of a key in this way, instead of the apparently cheaper approach of storing the default value in a macro like
\def\KV@fam@keya@default{defau}
Without eTeX this should actually be
\newtoks\toksa
\toksa{defau}
\edef\KV@fam@keya@default{\the\toksa}
or something similar.