Is selfish mining still an option with compact blocks and FIBRE? The selfish mining strategy relies on withholding a block to build on it in private. When the honest chain publishes a block, the attacker immediately broadcasts its own withheld block in order to try to replace it.

Today, most miners are connected via FIBRE and the general network has compact blocks to exchange compressed blocks. The delay until a block is known to the complete miner community is thus much smaller than in 2013. It seems that under the "first seen paradigm"  selfish mining becomes a losing strategy for blocks with such short relay times.

Is it correct to conclude that selfish mining is a theoretical attack now?
While FIBRE has done an incredible job in reducing relay times for blocks which are new, many miners additionally have systems by which they relay their own blocks in a single packet and have them queued up to relay on when they start mining the template, not when they find the block. Ultimately, FIBRE's few milliseconds of delay will lose to a single UDP packet that just relays the winning nonce around. Further, selfish mining attacks are very non-linear in the advantage you gain from a relay advantage - if you're 1ms faster to most hashpower, you have an advantage to that hashpower, period.