Is there a way or tool to prove visually or by numbers that all threads do interfere with each other and CPU switches from one thread to another?
The short answer is "no". You might be able to determine which threads are actually working by looking at the cloned processes listing in extended ps
output if on a Linux system but even then I'd doubt you'd be able to get the resolution that you need to make that information useful. Then you have the Hiezenberg problem that if you were sampling fast enough, you'd dramatically affect the performance of the box you were trying to monitor. You could look at the cpu time each thread is used and make some sort of determination although that CPU time may include context switch overhead.
If you are trying to figure out what the optimal number of threads for your application is, then I'd suggest doing a number of test runs to determine the optimal throughput of different thread-pool sizes. Of course if you switch architectures, you are going to have to re-run the test since it is very dependent on CPUs, cores, memory, etc..