Bandpass filter to get EEG frequency bands?
As the frequency bands are simple frequency ranges, I wonder if I can use several bandpass filters to get them (instead of using WPT / FFT)? 


Sure! That's how it's usually done!


  Is there any reason not to do it (performance)?


diabolical laugther as it happens, I've prepared just the blog post for you… TL;DR: If you don't have to process more than 20 Million EEG samples per second, your PC should do fine performance-wise.

Filtering Time-Series Data on the GNU Radio blog.

I came across an EEG problem that tried to do exactly that, filter things into multiple bands. And lo, I had 5 minutes of fun designing this bandpass filterbank for signals  with $f_\text{sample}=220\,\text{Hz}$:

$$
\begin{align} 
\Delta:&amp; [1,3]\text{ Hz}\\ 
\theta:&amp; [4,7]\text{ Hz}\\ 
\alpha_1:&amp; [8,9]\text{ Hz}\\ 
\alpha_2:&amp; [10,12]\text{ Hz}\\ 
\beta_1:&amp; [13,17]\text{ Hz}\\ 
\beta_2:&amp; [18,30]\text{ Hz}\\ 
\gamma_1:&amp; [31,40]\text{ Hz}\\ 
\gamma_2:&amp; [41,50]\text{ Hz} 
\end{align}
$$

in this GNU Radio Companion flow graph



The result was that, even in this totally naive filterbank implementation, things are so much faster than real-time that you can assume that if done a little more cleverly, it'd work on any halfway DSP-affine microcontroller in real-time.