Depends on whether the in-line function is in a query or in VBA code.
I was comparing VBA Code with a special VBA subroutine vs. the VBA code with a Switch statement in-line.
You talked about a .Execute, which implies an SQL context. SQL is not interpretive in the same way that VBA is interpretive. Using a subroutine FROM SQL forces the Execute to "break out" of SQL context to do a VBA thing and then step back in.
Apples and oranges, I think. I fully agree with you that in SQL, there is a horrendous penalty for having to use a VBA function. I wasn't going there because I didn't read that context difference into the statement.