Arun, You seem to have misunderstood what I suggested. The source has contracted for some service with the first provider, it could be preferred or best effort. The second provider uses a route lookup and the classification passed by the label to select a label appropriate for that traffic classification that goes toward the destination. This way the second provider gives preferred service only to customers that have contracted for preferrred service. The point is that given this model preferred service is symetrical and with two customers with two different providers if both customers contract for a preferred service, packets get preferred in both directions by both providers.
Customers are happy because they get preferred service in both directions.
The providers are also happy because they don't end up providing preferred transit when no one paid them for it. Routers are able to live through it because classification is very simple and there is not too much additional routing information. At no point does anyone look at the next label down in the stack except after the stack has been popped. So I don't see the two being equivalent. You don't lose anything of the sort.