Is staggering reindexing jobs a good strategy? I have inherited a server with 35 databases and a job that reindexes all tables on all databases (using sp_MSForEachTable). It's taking over 14 hours to complete and is now blocking other processes.

My question is this:

Would it be an acceptable strategy to stagger the reindexing over the week? Say, 5 DBs per night?

Thanks.
As long as the indexes that need to be rebuilt get rebuilt it should be fine to stagger them.  

This will of course vary based on your usage - if you have a ton of updates/inserts/deletes run on Fridays then there may be a good reason that you currently reindex on Saturdays.  

Something else you can do, instead of blindly rebuilding every index every week, is using some queries to check fragmentation levels and only reindexing when a specific index is over a certain threshold of fragmentation.  The usual threshold (which was chosen somewhat randomly by Paul Randal many years ago) is 30%.  There are dozens if not hundreds of sample scripts available for this.