In short, no. Azure routing relies on the Longest Prefix Match algorithm. When you create a VNet, Azure injects hidden system routes for the entire address space with a next hop of "Virtual Network". Because a system route like 10.0.0.0/16 is a more specific prefix than your user-defined route of 0.0.0.0/0, Azure would bypass your rule for internal traffic and route packets directly between subnets.
To avoid managing every individual subnet route, you can use summarized private IP blocks in your route table. By defining broader blocks that match or override your VNet space, you can capture all internal traffic. You can add the standard RFC 1918 blocks (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 ) and set their next hop to your virtual appliance. If your VNet uses a 10.x.x.x space, use your VNet address block to override the system route.
If your environment is growing, a Hub-and-Spoke topology might be a more scalable option. In this design, you place the third-party appliance in a central Hub VNet and your workloads into separate Spoke VNets. Because peered VNets cannot talk to each other transitively by default, a 0.0.0.0/0 UDR attached to the spokes should force all inter-spoke traffic through the hub appliance.
Be careful to avoid routing loops when applying these broad private range UDRs. Avoid associating this route table with the subnet that actually hosts your third-party appliance. If the appliance subnet tries to route private traffic to itself, it will create a loop and drop the packets. Keep the appliance subnet on its own distinct route table.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin