Todas esas estructuras son esencialmente equivalentes y, aunque hay diferencias dialectales, todas son reconocidas por los hablantes.
Las diferencias de significado entre las estructuras son sutiles. Para un estudiante avanzado sería útil conocerlas, para poder expresar mejor ciertos matices.
“He estado caminando” es una estructura estándar* que sugiere que la acción sigue transcurriendo en el presente, o que tiene efectos en el presente. “He estado caminando” puede ir sin indicación de tiempo, o puede llevar una frase adverbial que indique un período: “He estado caminando toda la mañana.” No suena tan bien (por lo menos a mí) usarla con un plazo de tiempo delimitado con “desde” o “hace”. La acción puede ser continuada en el presente: “He estado caminando toda la mañana y todavía me queda un largo camino por delante”; o bien puede haber terminado ya pero tener efectos actuales: “He estado caminando toda la mañana; tengo que sentarme porque me duelen los pies”.
“Vengo caminando” y “llevo caminando” siempre sugieren que la acción continúa en el presente, y por lo general van acompañadas de una frase adverbial de tiempo. Aquí sí es natural usar “desde” o “hace”: “Llevo/Vengo caminando desde anoche / hace tres horas / toda la mañana.”
Hay algunas diferencias menores entre “llevo” y “vengo”, pero no sé cómo explicarlas. Yo uso ambas, a veces con los mismos verbos y en situaciones parecidas. Quizá alguien más pueda ofrecer ejemplos.
* En ciertas regiones el pretérito perfecto compuesto es reemplazado casi siempre por el pretérito simple, de manera que la gente dice “estuve caminando” aun cuando la acción siga teniendo efectos en el presente. (“Estuve caminando” también puede indicar una acción terminada en un punto del pasado.)