Is there any reason why microsoft is still sticking to COM technology(Office components are still COM).. when all that is done with COM is do-a-ble with .Net in a better and efficient manner
Because it would take a long time to completely rewrite Office, and it would inevitably result in large numbers of bugs and breaking changes.
One of the reasons for bloat in Microsoft products is the focus on backwards compatibility. Huge numbers of applications manipulate Office via COM, and they would all break, if MS dropped it.
COM integration was a huge pain the first time Microsoft's customers had to do it. Customers would absolutely freak out if they had to rewrite all of their apps to use another integration method.
That, or they'd just stick to old versions of Microsoft software, even after they went out of support. That would slow down the upgrade treadmill a lot, and MS doesn't want that.
Because using COM makes the component available to the widest number of consumers. If an API uses COM it can be consumed from VBScript, native code, etc, not just .Net. The new features of C# 4.0 make it relatively painless to call COM components from .Net.