Is it reasonable to run hundreds of sites by one Drupal core? 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. 


Your sites.php file will get larger. You can specify which settings.php file should be used in the sites/sites.php file. That file will get larger with the number of sites in your network. However, in a age that you store 100 configurations in $GLOBALS, this shouldn't be a problem. 
Your modules page will load slower if you put all modules in sites/all/modules folder, but only want to use them in a few sites. 
In core or shared module updates, make one wrong move and everyone will know.
You can't use different robots.txt. 
In fact, you can't use just about any "known files". favicon.ico, apple-touch-icon, Bing verification file, oh gosh. 
Say hello to the complicated vhosts file and .htaccess for me. I'm a fat guy and so they should be.