I'd suggest to use *.hpp instead of *.h since you're using C++ and not C it will make it easier to determin which headers are written in C++ and which could be written in C.
Since you always include the header file in the corresponding source file, you won't have to include both headers in the X.cpp and the X.hpp, but other than that you should never make assumptions like: 'I don't have to include it in X.hpp since I'm including Y.hpp which has alreay included the SFML header.' Because you never know if you'll include the header file in another file.
Next it's adviced to include as late as possible. For instance most of the time you'll never need the std::cout in a header file since the header files only hold the class decelerations, but you may use it in the coresponding source file. Thus you include it in the source file and not in the header file.
And finally if you're just using a pointer or a reference to a class X in a header file Y, you don't have include the header file for X but you can use a
forward decleration (e.g.
class X;) and include the header of X later in the source file.
Overall it's just an optimization for compiling and not that important.