If you have air conditioning it could be the drip tray drains are partially blocked . This encourages the growth of bacteria which can cause a smell. An Air conditioning specialist should be able to help. You can also buy DIY kits to clean your system. Otherwise could be burnt wiring insulation of something that's drawing too much current [ unlikely without accompanying electrical problems tho]
Externally it could be a leaking exhaust or a fuel tank breather blockage or oil leaking on to the engine exhaust manifold
As above, you could have a leak from the manifold itself or an exhaust leak further along the system. I would check this out first. Can you hear a ticking/chuffing noise under the bonnet?