There are more than 100 sites that are supported by our company and they can be presented as sub domain as well. from technical perspective is it reasonable to run all of these sites using only one Drupal core? is there any drawback in doing such thing? or we should have multiple cores?
Technically, there shouldn't be. But even if I had enough server resources, I'd reconsider my approach. A few problems I can think about. Note that they are really small annoyances and there are workarounds. If each site of your network has to be a very serious site, and all you are expecting is less files on the server and ease of updates, I think it's a bad idea.
Certainly, there is a cap where it makes more sense to separate the stacks for performance reasons.
@Ayesh K made several good points. There are ways to deal with most of these issues:
Something that stood out in my mind in this discussion is OPcode caching. Using opcache, APC or similar, I think you will benefit from the single stack (multi-site).
It would largely be determining: