I would suggest you have a look at the Google I/O 2010 app source code, as their FlingableTabHost
implementation would appear to have solved this problem:
http://iosched.googlecode.com/svn/trunk/src/com/google/android/apps/iosched/ui/ScheduleActivity.java
I think the key is in extending TabHost
and overriding its onInterceptTouchEvent
method.