Is there any difference between default and named cache in AppFabric?
No it's pretty the same. The only difference is that the default cache will always exists in the cluster whereas a named cache may not be created. You can not remove the default cache or change its name. You have to run a specific task to create a new named cache and you can not create one just by the client api.
I am wondering if there is any difference between the default cache and named cache in terms of storage, performance and etc. I.e will this "named cache redirection" have any impact on appFabric internally?
No but each cache have its own configuration settings (expiration, default ttl, eviction, R/W providers, ...) this settings can potentially affects name cache performance.