What I have done in the past and it worked very well was simple sphere vs frustum with plane caching.
The idea being if a sphere vs frustum plane fails the test, the store that plane and test it first next time round as it will most likely be behind that same plane on the next frame.