Could I theoretically mine a block faster than 10 minutes?
Nope, nothing prevents it.  The actual time from one block to the next is random, and it very often happens to be less than ten minutes, just by chance.  

Ten minutes is the target time.  The block difficulty adjusts with the goal of having ten minutes be the average time between blocks.  Of course if the average is ten minutes, then you would expect some blocks to be faster and others slower.