I would like to kindly ask if Raspberry Pi 3 can receive an analog signal directly without using an external ADC? and if I do need an external ADC, what is the best ADC that can I use to have the highest data transfer rate up to 1MSamble/Sec
As per previous answers, RPi's do not have an ADC. There are a number of ways that it can be done, but they all involve an external module or add-on circuit of some kind. What needs to be implemented depends on what you want to measure. For example, if it is for a weather station, you ony need one sample per minute rather than several per second. Common sense needs to prevail.
One effect that needs to be considered for A to D conversion is what is called "aliasing". This is where the sample rate is too low to accurately represent the signal because the signal changes in between samples. As a general rule, the sample rate needs to be at least twice the signal rate, and ideally up to 10 times the signal rate to be accurate. For example, to measure a 50Hz mains power waveform, you need to measure at a minimum of 100 times per second (which will look almost like a square wave), but to accurately represent it needs 500 samples per second. An audio signal with 16KHz tones will require at least 32KHz sample rate etc.
So the question is - what are you sampling? If you truly require this sort of sample rather, it is beyond the normal abilities of the RPi.