text: Title: [MNT] Add joblib backend option and set default to all parallelized estimators
  Body: ### Describe the issue
  
  Some of the estimators that use joblib for parallelization use process-based backend, while other use threads-based backend. Ideally, we want this to be a parameter tunable by the users. 
  
  ### Suggest a potential alternative/fix
  
  Including a `joblib_backend` parameter which would default to `threading` (from discussions with Matthew), and use this parameter to set the joblib `backend` parameter during `Parallel` calls would fix the issue.
  
  