I'm confused - I thought your 192.168.1.0 subnet was on VLAN10?
Your PCs on the 192.168.1.0 subnet have 192.168.1.4 as their default GW, right?
192.168.1.4 is the L3 switch, right?
If you do a sh ip route on the L3 switch, you should see the 192.168.0.0 subnet is local, right?
So why would a traceroute from 192.168.1.0 subnet go to 192.168.0.1?
It should go to 192.168.1.4, then the L3 switch has the destination subnet as a local route, so it should forward the packet onto 192.168.0.0 locally, using 192.168.0.4 as the source IP address, no?