Threads are much simplier than Services. Actually, it's a complicated task - to communicate with thread, while for service you simply bind to it and call it's method regularly. Moreover, threads don't have a Context instance, so you are very limited with Android functionality.
I can advise you to use Threads for small compact tasks which are time-expensive so that it won't freeze the main thread. AsyncTask - for more complicated, parametrized tasks with easier way to get the result(while Thread should use handlers to post in UI thread). And, finally, Services - for long-term tasks which lifecycle must not depend on any other object as they are running in background and owned by Android itself. Thus many activities and even applications can share the same service and use it.
I do recommend you to use Service. I don't think 3 services you describes have a significant influence on the app performance.